- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 树与二叉树(二)
* 4、子女指针表示 一个合理的想法是在结点中存放指向每一个子女结点的指针。但由于各个结点的子女数不同,每个结点设置数目不等的指针,将很难管理。 为此,设置等长的结点,每个结点包含的指针个数相等,等于树的度(degree)。 这保证结点有足够的指针指向它的所有子女结点。但可能产生很多空闲指针,造成存储浪费。 * 等数量的链域 A B C D E F G data child1 child2 child3 childd A B C D E F G ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 空链域2n+1个 * 5、子女-兄弟表示 也称为树的二叉树表示。结点构造为: firstChild 指向该结点的第一个子女结点。无序树时,可任意指定一个结点为第一个子女。 nextSibling 指向该结点的下一个兄弟。任一结点在存储时总是有顺序的。 若想找某结点的所有子女,可先找firstChild,再反复用 nextSibling 沿链扫描。 data firstChild nextSibling * 树的子女 - 兄弟表示 data firstChild nextSibling A B C D E F G A B C D G F E * 树的二叉树表示 树的遍历 深度优先遍历 先根次序遍历 后根次序遍历 广度优先遍历 A B C E D A B C D E F G G F * A B C E D G F 树的先根次序遍历 当树非空时 访问根结点 依次先根遍历根的各棵 子树 树先根遍历 ABEFCDG 对应二叉树前序遍历 ABEFCDG 树的先根遍历结果与其对应二叉树 表示的前序遍历结果相同 树的先根遍历可以借助对应二叉树的前序遍历算法实现 * A B C E D G F 树的后根次序遍历 当树非空时 依次后根遍历根的各棵 子树 访问根结点 树后根遍历 EFBCGDA 对应二叉树中序遍历 EFBCGDA 树的后根遍历结果与其对应二叉树 表示的中序遍历结果相同 树的后根遍历可以借助对应二叉树的中序遍历算法实现 * 树的先根次序遍历的递归算法 template class T void TreeT:: PreOrder ( void (*visit) (BinTreeNodeT *t) ) { //以当前指针current为根, 先根次序遍历 if (!IsEmpty ()) { //树非空 visit (current); //访问根结点 TreeNodeT *p = current; //暂存当前指针 current = current-firstChild; //第一棵子树 while (current != NULL) { PreOrder (visit); //递归先根遍历子树 current = current-nextSibling; * } current = p; //恢复当前指针 } }; template class T void TreeT :: PostOrder (void (*visit) (BinTreeNodeT *t)) { //以当前指针current为根, 按后根次序遍历树 树的后根次序遍历的递归算法 * if ( ! IsEmpty () ) { //树非空 TreeNodeT *p = current; //保存当前指针 current = current-firstChild; //第一棵子树 while (current != NULL) { //逐棵子树 PostOrder (visit); current = current-nextSibling; } current = p; //恢复当前指针 visit (current); //访问根结点 } }; * 广度优先(层次次序)遍历 按广度优先次序遍历树的结果 ABCDEFG 遍历算法用到一个队列。 template c
您可能关注的文档
- 第2讲-数字音频技术基础-20161011001.pdf
- 第2章 第4节蛋白质的四级结构和血红蛋白.pdf
- 第二讲_智巧趣题.ppt
- 第1讲认识质量与可靠性.pdf
- 第14章 中药管理.pdf
- 第二讲描述分析.ppt
- 第2章 第4节 置信区间与假设检验.pdf
- 第二课 文章输入大比拼.ppt
- 第29,30讲 拱桥构造.pdf
- 第二讲 薄膜生长与薄膜结构.ppt
- 2022年兴安盟公需课程考试题.pdf
- 2022年成都市公需课专业课程考试题.pdf
- 2024年职业技能《眼镜验光师.高级》专业技术知识考试题库(含答案).pdf
- 2022年低压电工特种作业证考试题及答案.pdf
- 小学教资《教育教学知识与能力》模拟题及解析(带教学设计).pdf
- 2022年四川省遂宁市中考生物考试题.pdf
- 注册安全工程师安全生产技术基础试题及答案.pdf
- 2022年《卫生行政监督执法》人员岗位知识考试题(含答案).pdf
- 2019年11月广东省广州市水务局直属事业单位第二次公开《行政能力测验》笔试题.pdf
- 2024年煤矿特种作业《矿用防爆柴油车》安全知识竞赛试题库(含答案).pdf
文档评论(0)