pta6-2 中序遍历的非递归算法可以使用栈来实现。 首先将根节点入栈,然后将左子树的所有节点入栈,直到到达最左边的叶子节点。然后从栈中弹出一个节点,访问它,并将它的右子树入栈。重复上述过程,直到栈为空。 具体步骤如下: 1.初始化一个空栈。 2.将根节点入栈。 3.当栈非空时,重复以下步骤: -将栈顶...
voidInorderTraversal( BinTree BT );voidPreorderTraversal( BinTree BT );voidPostorderTraversal( BinTree BT );voidLevelorderTraversal( BinTree BT ); 其中BinTree结构定义如下: typedefstructTNode *Position; typedef Position BinTree;structTNode{ ElementType Data; BinTree Left; BinTree Right; }; 要...
return pre; // 遍历完整个列表后,L指向NULL,pre指向新链表的头结点,返回pre } 递归实现 /* 递归算法的两个重点: (1):找到出口(何时“归”) (2):找到问题的相同点,以缩小问题的规模(何时“递”) List Reverse( List L ) { List NewNode; if (L==NULL) // 空链表的情况 return L; else if ...