- 5
- 0
- 约7.72千字
- 约 52页
- 2017-07-21 发布于湖北
- 举报
* * 可以只增加后继线索,如教材所给的 * 复杂度分析 对于有n个结点的二叉树,遍历完树的每一个元素都需要O(n)时间 只要对每个结点的处理(函数Visit的执行)时间是一个常数,那么遍历二叉树就可以在线性时间内完成 所需要的辅助空间为遍历过程中栈的最大容量,即树的高度 最坏情况下具有n个结点的二叉树高度为n,则所需要的空间复杂度为O(n) 课堂练习 描述符合下述条件的所有二叉树 前序和中序序列相同 前序和后序序列相同 中序和后序序列相同 深度优先遍历二叉树 二叉树的遍历算法与表达式的“前缀”和“后缀”表示法之间有着密切的联系。 按照前序方式遍历,形成了前缀表达式(波兰式): + A × B + C D 按照中序方式遍历,得到的结果是去掉括号的中缀表达式:A + B × C + D 后序方式遍历得到的是后缀表达式(逆波兰式): A B C D + × + * 二叉树的遍历实现了对一个非线性结构进行线性化的操作,从而使每个结点在线性序列中有且仅有一个直接前驱和直接后继。 H C F E D A 但以二叉链表作为存储结构时, 如何直接找到任意结点的前驱和后继结点? 线索二叉树 线索二叉树 e.g: n = 8 的二叉树 B C D E L A X W B C D E L A X W 扩充二叉树 怎样利用这 n + 1 个空指针场? 中序穿线树 前序穿
原创力文档

文档评论(0)