- 1、本文档共112页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课件-树和二叉树PPT
数据结构多媒体课件 增加线索标志域后的结点结构为: 这种结点类型和相应结点的指针类型定义如下: typedef enum PointerTag{Link,Thread}; typedef struct BiThrNode { ElemType data; PointerTag LTag,RTag; /*ltag和rtag 只能取值为0或1*/ struct BiThrNode *lchild,*rchild; }BiThrNode,*BiThrTree; lchild LTag data RTag rchild 数据结构多媒体课件 中序线索树 T 1 1 数据结构多媒体课件 中序遍历线索树 思想: 先由头结点指针找到根结点,从根结点起沿左指针逐结点一直向左查找,找到左线索标志为1的结点(“最左”的结点)即为遍历中需首先访问的结点。 由此结点开始,反复进行寻找后继结点的过程,并陆续访问这些结点,直至结束。 数据结构多媒体课件 中序遍历线索二叉树非递归算法 void thinorder(BiThrTree T) {//二叉树附加了头结点,T指向头结点 p= T-lchild;//p指向根结点 whild(p!=T) /*空树或遍历结束时,p==T*/ { while(p-LTag==Link) p=p-lchild; /*从根往下找到最左的结点,即中序序列的开始结点*/ visit(p-data);//访问左子树为空结点 while(p-Rtag==Threadp-rchild!=T) {p=p-rchild;visit(p-data);}/*访问后继结点*/ p=p-rchild; } return OK;} 数据结构多媒体课件 中序线索化 思想:一边中序遍历一边建立线索。若访问结点的左儿子结点为空,则建立前趋线索;若右儿子结点为空,则建立后继线索。 为此附设一个指针pre始终指向刚刚访问过的结点,而用指针p指示当前正在访问的结点。pre的初始值为NULL。 数据结构多媒体课件 中序线索化算法 void inthread (BiThrTree p,*pre) { if(p) {inthread(p-lchild,pre); /*左子树线索化*/ if(p-lchild==NULL) /*若当前结点的左子树为空,则建立指向其前趋结点的前趋线索*/ {p-ltag=1; p-lchild=pre; } else p-ltag=0; 数据结构多媒体课件 中序线索化算法续 if (pre!=NULL pre-right==NULL) /*若前趋结点不为空,且其右指针域为空, 则建立该前趋结点指向当前结点的后继线索*/ { pre-RTag=1; pre-rchild=p; } else pre-RTag=0; pre=p; /*中序向后遍历一个结点*/ inthread (p-rchild,pre); } } 数据结构多媒体课件 6.4 树和森林 6.4.1 树的存储结构 6.4.2 森林与二叉树的转换 6.4.3 树和森林的遍历 数据结构多媒体课件 6.4.1 树的存储结构 1.双亲表示法 2. 孩子表示法 3.孩子兄弟表示法 数据结构多媒体课件 1.双亲表示法 这种方法用一组连续的空间来存储树中的结点,在保存每个结点的同时附设一个指示器来指示其双亲结点在表中的位置 .其结点的结构如下: 数据域 双亲位置域 data parent 数据结构多媒体课件 双亲表示法的形式说明如下: #define MAX 100 typedef struct PTNode //结点结构 { ?? TElemType data; ?? int parent; }PTNode; typedef struct //树结构 { PTNode nodes[MAX]; int r,n; //根的位置和结点数 }PTree; 数据结构多媒体课件 双亲表示法举例 a b c d e f h g i 特点:找双亲容易,找孩子难 i 0 1 1 2 4 4 4 5 0 i b d e f g h c a -1 6 0 1 2 3 4 5 7 8 9 data parent 如何找 孩子结点 数据结构多媒体课件 2. 孩子表示法 这种方法通常是把每个结点的孩
您可能关注的文档
- 彩色图象处理PPT.ppt
- 微处理器PPT.ppt
- 形态改进与功能优化设计PPT.ppt
- 建筑设备施工安装中常见质量问题及防治措施PPT.ppt
- 形容词与副词的比较等级PPT.ppt
- 微型计算机的基础知识PPT.ppt
- 微处理器组成与中断技术PPT.ppt
- 影像学检查PPT.ppt
- 微机基础知识PPT.ppt
- 弯曲应力-材料力学PPT.ppt
- 2024年华为认证过关检测试卷及参考答案详解【综合卷】.docx
- 2024年特种作业煤矿安全作业通关题库含答案详解【夺分金卷】.docx
- 2024年特种作业煤矿安全作业练习题及答案详解(历年真题).docx
- 2024年华为认证自我提分评估(夺冠系列)附答案详解.docx
- 2024年华为认证考试彩蛋押题(模拟题)附答案详解.docx
- 2025年特种直升机合作协议书.docx
- 2025年运载火箭CAMAC测试系统项目合作计划书.docx
- 2024年特种作业煤矿安全作业考试黑钻押题附参考答案详解(培优A卷).docx
- 2024年特种作业煤矿安全作业真题(考点梳理)附答案详解.docx
- 2024年特种作业煤矿安全作业考试彩蛋押题含答案详解【典型题】.docx
文档评论(0)