- 12
- 0
- 约1.04千字
- 约 10页
- 2025-02-09 发布于山东
- 举报
线索二叉树
本讲要点为什么要线索?什么是线索二叉树?如何线索?
1.为什么要线索?在前面讨论的二叉树各种遍历算法,其本质是将树形结构转换为线性序列,便于简化问题。在遍历序列中,每个结点都有自己的前驱和后继,求结点的前驱和后继属于基本操作。快速地实现这个基本操作,对二叉树许多算法的性能有重要意义。最简单的方法是在遍历过程中寻求答案,缺点是时间复杂度等同遍历算法的时间复杂度O(n),这对于基本操作而言,显然效率太低。为了实现在遍历序列中快速查找结点的前驱、后继,可以利用二叉链表中空的指针域,指向结点在遍历序列中的前驱、后继,这些指向前驱和后继的指针称为线索。
2.什么是线索二叉树?线索:将二叉链表中的空指针域指向前驱结点和后继结点的指针称为线索。线索化:使二叉链表中结点的空链域存放其前驱或后继信息的过程。线索二叉树:加入了线索的二叉树。二叉树的遍历方式有4种,故有4种意义下的前驱和后继,相应的有4种线索:⑴先序线索二叉树⑵中序线索二叉树⑶后序线索二叉树⑷层序线索二叉树
2.什么是线索二叉树?ltypelchilddatarchildrtype0:lchild指向该结点的左孩子1:lchild指向该结点的前驱结点0:rchild指向该结点的右孩子1:rchild指向该结点的后继结点ltype=rtype=结点结构
3.如何线索?分析:
原创力文档

文档评论(0)