- 3
- 0
- 约1.23千字
- 约 7页
- 2018-07-11 发布于湖北
- 举报
知识回顾 遍历二叉树结果是: 求得结点的一个线性序列(前驱 后继), 前驱或后继在二叉树上体现线性关系? 6.3.2 线索二叉树 1. 基本概念 2. 二叉树线索链表存储结构 3. 在线索链表上遍历二叉树(中序为例) 4. 建立线索链表 1. 基本概念 线索:指向前驱或后继的指针 要求:带箭头的虚线,左右分明! 线索链表:含线索的存储结构 线索二叉树:用线索链表作为存储结构,相应的二叉树. 2. 二叉树线索链表存储结构(利用n+1个空链域) 求出下面二叉树的( ? )线索二叉树(链表) 3. 在线索链表上遍历二叉树(中序为例) (1) 中序遍历的第一个结点? (2) 在中序线索化链表中结点的后继? (使用栈?) 作业: * 二叉树 线性结构(前驱.后继) 遍历过程 ? 线索过程 总 结 √ √ rchild rtag data ltag lchild 用C语言描述如下: Typedef enum PointerTag {Link,Thread};//Link=0; Thread=1 Typedef struct BiThrNode { TElemType data; struct BiThrNode *lchild,*rchild; PointerTag ltag,rtag; } BiThrNode ,*BiThrTree ltag=0时,lchild指向左孩子; ltag=1时, lchild指向前驱 rtag=0时,rchild指向右孩子; rtag=1时, rchild指向后继 A B D G C E F H 中序后继二叉树? A B D G C E F H 第一. 按中序遍历二叉树,序列是: D G B A E C H F 第二. 找出没有右孩子的结点,并标出: 第三.在没有右孩子的结点处连上后继 NULL P=T-lchild; While (p!=T) { while (p-ltag=Link) p=p-lchild; if (!visit(p-data)) return ERROR; while ((p-rtag=Thread) (p-rchild!=T)) { p=p-rchild; visit(p-data); } p=p-rchild; } Return OK; 1 0 0 A 0 0 B 1 1 D 1 1 C 1 T
您可能关注的文档
最近下载
- 《洁净室施工及验收规范》(GB50591-2010).pdf VIP
- 钻井平台钻前工程初步设计-道路.pdf VIP
- 中国法制史试题及答案完整版 .pdf VIP
- 蓝色云南大学顶部导航栏复试模板.pptx VIP
- 湖北工程学院新技术学院《高等数学A》2025-2026学年期末考试试卷(A)卷.docx VIP
- GB 55006-2021 钢结构通用规范.docx VIP
- GB 55002-2021 建筑与市政工程抗震通用规范.docx VIP
- GB 55001-2021 工程结构通用规范.docx VIP
- GB50068-2018_建筑结构可靠性设计统一标准.docx VIP
- 执行结构设计.pdf VIP
原创力文档

文档评论(0)