- 1、本文档共119页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
树和森林的概念叉树 (Binary Tree)二叉树的表示二叉树
结点(node) 结点的度(degree) 分支(branch)结点 叶(leaf)结点 子女(child)结点 双亲(parent)结点 兄弟(sibling)结点 祖先(ancestor)结点 子孙(descendant)结点 结点所处层次(level) 树的高度(depth) 树的度(degree) 二叉树的表示 数组表示 二叉树遍历 (Binary Tree Traversal) 所谓树的遍历,就是按某种次序访问树中的结点,要求每个结点访问一次且仅访问一次。 设访问根结点记作 V 遍历根的左子树记作 L 遍历根的右子树记作 R 则可能的遍历次序有 前序 VLR 镜像 VRL 中序 LVR 镜像 RVL 后序 LRV 镜像 RLV 中序遍历 (Inorder Traversal) 中序遍历二叉树算法的框架是: 若二叉树为空,则空操作; 否则 中序遍历左子树 (L); 访问根结点 (V); 中序遍历右子树 (R)。 遍历结果 a + b * c - d - e / f 前序遍历 (Preorder Traversal) 前序遍历二叉树算法的框架是 若二叉树为空,则空操作; 否则 访问根结点 (V); 前序遍历左子树 (L); 前序遍历右子树 (R)。 遍历结果 - + a * b - c d / e f 后序遍历 (Postorder Traversal) 后序遍历二叉树算法的框架是 若二叉树为空,则空操作; 否则 后序遍历左子树 (L); 后序遍历右子树 (R); 访问根结点 (V)。 遍历结果 a b c d - * + e f / - 应用二叉树遍历的事例 线索化二叉树 (Threaded Binary Tree) 堆 ( Heap ) 树与森林 二叉树的计数 由二叉树的前序序列和中序序列可唯一地确定一棵二叉树。例, 前序序列 { ABHFDECKG } 和中序序列 { HBDFAEKCG }, 构造二叉树过程如下: 霍夫曼树 (Huffman Tree) (2) 树的后根次序遍历的递归算法 template class Type void TreeType:: PostOrder ( ) { if ( !IsEmpty ( ) ) { TreeNodeType *p = current; //暂存当前结点 int i = FirstChild ( ); //当前结点转到长子 while (i) { PostOrder ( ); i = NextSibling ( ); } //递归后根遍历各棵子树 current = p; //递归完恢复当前结点 visit ( ); //访问根结点 } } (3) 按先根次序遍历树的迭代算法 template class Type void TreeType:: NorecPreOrder( ) { StackTreeNodeType* st ( DefaultSize ); TreeNodeType *p = current; do { while ( !IsEmpty ( ) ) { //从根沿长子链向下 visit ( ); st.Push ( current ); //边访问边进栈 FirstChild ( ); } while ( IsEmpty ( ) !st.IsEmpty ( ) ) { current = st.Pop ( ); NextSibling ( ); } //无子女或无兄弟,退栈,转向下一兄弟 } while ( !IsEmpty ( ) ); //栈空,退出循环 current = p; } (4) 按后根次序遍历树的迭代算法 template class Type void TreeType:: PostOrder1 ( ) { StackTreeNodeType* st ( DefaultSize ); TreeNodeType *p = current; do {
您可能关注的文档
- 朱雪忠:我国专利数量的失控及其危害.doc
- 机关春节联欢会方案.doc
- 机加工成本核算_核价方法.pptx
- 机场规划说明书..doc
- 机械.动力-3.风帆小车.pptx
- 机械制图 画零件图作业(支座蜗轮箱体).ppt
- 机械制造技术基础_模拟试卷(一)及答案.doc
- 机制5班 李道刚.doc
- 机房群控系统控制逻辑说明.doc
- 机械安全生产及事故防范培训..ppt
- [工业变迁]2004-2021年中国规上陆地天然气开采行业运行及竞争力评级分析报告.docx
- 农村垃圾处理实施方案.doc
- 地产前期开发委托管理合同.doc
- 纺织与服装设计创新技术作业指导书.doc
- [工业变迁]2004-2021年中国规上铝矿采选行业运行及竞争力评级分析报告.docx
- [工业变迁]2004-2021年中国规上陆地石油开采行业运行及竞争力评级分析报告.docx
- [工业变迁]2004-2021年中国规上麻纺织及染整精加工行业运行及竞争力评级分析报告.docx
- [工业变迁]2004-2021年中国规上麻染整精加工行业运行及竞争力评级分析报告.docx
- 网络行业数据备份与恢复系统方案.doc
- [工业变迁]2004-2021年中国规上机织服装制造行业运行及竞争力评级分析报告.docx
文档评论(0)