- 1
- 0
- 约2.32万字
- 约 158页
- 2019-01-24 发布于江苏
- 举报
但是在现实应用,一些问题的数据元素之间的关系就不这
§6.5 线索二叉树 特点:空间利用率高,但线索不完全; 举例: a b c d e f g h a 0 0 b 0 0 c 0 0 d 0 0 e 0 0 f 0 0 g 0 0 h 0 0 1 1 1 1 1 1 1 1 1 中序遍历序列:dbegafhc 0 0 1 一、线索方法 §6.5 线索二叉树 二、线索的使用 假设已经建立了某种遍历的线索,那么,在再按同样遍历方式 遍历时,就可以直接使用线索信息得到遍历序列,遍历就是找前驱 或后继,从而提高了效率,若每个结点都记录了前驱、后继线 索,这是很方便的!! 但是,很遗憾,我们的线索方法是记录的不完全线索(为了 节省空间),增加了找前驱、后继的难度,因为有些结点根本没有 记录线索或仅仅记录了一部分! 1、中序线索二叉树,找前趋、后继的方法 前驱: 假设p指向当前结点,找p所指结点的前驱、后继 若p-ltag=1,则p - lchild就是其前驱结点; 若p - ltag=0,则p - lchild指的是左儿子,前驱是谁? 根据中序遍历的规则,前驱在左子树上,而且是中序 遍历左子树的最后一个结点,即左子树的最右下结点。 p if(p - ltag==1) return(p - lson) else { q=p - lson; while(q - rson!=NULL) q=q - rson } rerturn(q) ; §6.5 线索二叉树 二、线索的使用 后继: 若p - rtag=1,则p - rson就是其后继结点; 若p - rtag=0,则p - rson指的是右儿子,后继是谁? 根据中序遍历的规则,后继在右子树上,而且是中序 遍历右子树的第一个结点,即右子树的最左下结点。 p if(p - rtag==1) return(p - rson) else { q=p - rson; while q - lson!=NULL) q=q-lson } rerturn(q) ; §6.5 线索二叉树 二、线索的使用 §6.5 线索二叉树 2、前序线索二叉树,找前趋、后继的方法 前驱: 假设p指向当前结点,找p所指结点的前驱、后继 若p - ltag=1,则p - lson就是其前驱结点; 若p - ltag=0,则p - lson指的是左儿子,前驱是谁? 根据前序遍历的规则,前趋不在左、右子树上,而 是与父亲有关。分几种情况: (1)P是根,则无前驱; P 二、线索的使用 §6.5 线索二叉树 (2)P是父亲的左儿子或是右儿子但无左兄弟, 前驱是父亲; p p 二、线索的使用 §6.5 线索二叉树 (3)P是父亲的右儿子,且有左兄弟,其前驱是前序 遍历父亲左子树上的最后一个结点(是最右下结 点吗?) p p 二、线索的使用 §6.5 线索二叉树 后继: 若p - rtag=1,则p - rson就是其后继结点; 若p - rtag=0,则p - rson指的是右儿子,后继是谁? 根据前序遍历的规则,后继在左、右子树上,如果p 有左子树,则后继是左子树的根,否则是右子树的根; p p 二、线索的使用 §6.5 线索二叉树 3、后序线索二叉树,找前趋、后继的方法 前驱: 假设p指向当前结点,找p所指结点的前驱、后继 若p - ltag=1,则p - lson就是其前驱结点; 若p - ltag=0,则p - lson指的是左儿子,前驱是谁? 根据后序遍历的规则,若p的右子树不空,则前驱 是右子树的根,否则是左子树的根; p p 二、线索的使用 §6.5 线索二叉树 后继: 若p - rtag=1,则p -rson就是其后继结点; 若p - rtag=0,则p - rson指的是右儿子,后继是谁? 根据后序遍历的规则,后继不在左、右子树上,而与 双亲有关。分几种情况: p (1)P是根,则无后继; (2)P是父亲的右儿子或是左儿子但无右兄弟, 后继是父亲; p 二、线索的使用 (3)P是父亲的左儿子,且有右兄弟,其后继驱是 后序遍历右子树上的第一个结点。(是最左 下结点吗?) p §6.5 线索二叉树 二、线索的使用 §6.5 线索二叉树 三、二叉树的线索化 方法: 在进行某种方式遍历的同时,把其中的空指针改为 记线索(左指针空时,指向前驱;右指针空时指向 后继)。 在此,仅介绍中序线索二叉树的算法实现,设为P为当前结点,pre为p的前驱结点,算法描述
您可能关注的文档
最近下载
- 坚守节俭红线,共筑廉洁党政——学习《党政机关厉行节约反对浪费条例》党课讲稿.docx VIP
- 2025年湖北省出版专业技术高、中级职务水平能力测试(编辑)历年参考题库含答案详解(5卷).docx VIP
- 2025凉山州继续教育公需科目满分答案-大力推进现代化产业体系建设,加快发展新质生产力.docx VIP
- 叠合板吊装施工技术交底.doc VIP
- (高清版)-B 28644.1-2012 危险货物例外数量及包装要求.pdf VIP
- 2022-2023学年湖北省武汉市部分重点中学高二上学期期末考试联考历史试卷含详解.docx VIP
- 滚动轴承套圈加工工艺.doc VIP
- 2025凉山州继续教育公需科目满分答案-深入学xi关于发展新生产力的重要论述.docx VIP
- 直播带货技巧培训课程 (2).pptx VIP
- 关于2024年度民主生活会整改措施落实情况及2025年深入贯彻中央八项规定精神学习教育查摆问题整改情况的通报.docx VIP
原创力文档

文档评论(0)