-------------------------------------资源来源于网络,仅供自学使用,如有侵权,联系我必删.
第一:
什么是遍历
? 单链表的遍历是指从第一个结点开始 (下标为0的结点), 按照某种次序依次访问每一个结点 。
? 二叉树的遍历是指从根结点开始 , 按照某种次序依次访问二叉树中的所有结点
第二:
前序遍历
? 算法思想
? 若二叉树为空 :
• 空操作返回
? 若二叉树不为空 :
1. 访问根结点中的数据
2. 前序遍历左子树
3. 前序遍历右子树
第三:
中序遍历
? 算法思想
? 若二叉树为空 :
• 空操作返回
? 若二叉树不为空 :
1. 中序遍历左子树
2. 访问根结点中的数据
3. 中序遍历右子树
第四:
后序遍历
? 算法思想
? 若二叉树为空 :
• 空操作返回
? 若二叉树不为空 :
1. 后序遍历左子树
2. 后序遍历右子树
3. 访问根结点中的数据
第五:
层次遍历
? 算法思想
? 若二叉树为空 :
• 空操作返回
? 若二叉树不为空 :
1. 访问根结点中的数据
2. 访问第二层所有结点的数据
3. 访问第三层所有结点的数据
4. ............
第六:
遍历算法的实现
小结
二叉树仅仅比单链表多了一个指针域 , 但其遍历算法的种类却增加了很多
递归定义的数据结构采用递归的算法进行遍历往往能达到简单可靠的效果