数据结构ABDH##I##E##CF##G##的二叉树图像

* 先序创建、输出 二叉树 * 先序遍历②叉树(递归) * 中序遍历二叉树(递归) * 后序遍历二叉树(递归) * 先序遍历二叉树(非递归) * 思路:对于任意节点T访问这个节点并压入棧中,然后访问节点的左子树 * 遍历完左子树后,取出栈顶的节点T再先序遍历T的右子树 //栈不为空时,或者p不为空时循环 //当前节点不为空访问并压入栈中。并将当前节点赋值为左儿子 // 1、当p指向的左儿子时此时栈顶元素必然是它的父节点 // 2、当p指向的右儿子时,此时栈顶元素必然是它的爷爷节点 //取出栈顶元素赋值为riht * 中序遍历二叉树(非递归) * 思路:先将T入栈,遍历左子树;遍历完左子树返回时栈顶元素應为T, * 出栈访问T-&t;data,再中序遍历T的右子树 //栈不为空时,或者p不为空时循环 //当前节点不为空压入栈中。并将当前节点赋值为左儿子 // 1、当p指向的左儿子时此时栈顶元素必然是它的父节点 // 2、当p指向的右儿子时,此时栈顶元素必然是它的爷爷节点 //取出并访问栈顶元素赋值为riht * 後序遍历二叉树(非递归) //栈不空或者p不空时循环 //左右子树访问完毕访问根节点 * 层次遍历二叉树(非递归)

测试上面的四种遍历+先序创建樹

* 测试二叉树的 创建、遍历 //先序遍历(非递归) //中序遍历(非递归) //后序遍历(非递归) //层次遍历(非递归)
//创建一棵树并实现各种遍历 
// 创建②叉树,约定用户遵照前序遍历输入数据(#代表空结点)
//递归创建二叉树(输入的结点序列为二叉树的先序遍历序列) 
 

我要回帖

更多关于 G/E 的文章

 

随机推荐