- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§6.2.3 二叉树的存储结构§6.3.1 遍历二叉树§6.3.2 线索二叉树 【内容回顾】 6.1 树的定义和基本术语 6.2 二叉树 -6.2.1 二叉树的定义 -6.2.2 二叉树的性质 【课题导入】 回顾线性表的存储方法? 注意:1)对于一棵二叉树,若采用顺序存储时,对完全二叉树,比较方便;对非完全二叉树,将会浪费大量存储单元。 顺序结构存储二叉树的优点 1)存储时,元素的位置(下标+1)对应其在完全二叉树中的序号。 2)可快速方便地访问元素的双亲和左右孩子。 注意:对于一棵二叉树,若采用二叉链表存储时,当二叉树为非完全二叉树时,比较方便,若为完全二叉树时,将会占用较多存储单元(存放地址的指针)。 若一棵二叉树有n个结点,采用二叉链表作存储结构时,共有2n个指针域,其中只有n-1个指针指向左右孩子,其余n+1个指针为空。 在二叉链表结构中的操作 查询元素? 查询元素的后继? 查询元素的前驱? 从第一层开始,同一层从左到右。 例1:如右图 按层次遍历序列为: ABFCGDEH 特点:先被遍历的结点的孩子先于后遍历的结点的孩子遍历。 根据二叉树的结构,分为三部分: L 左子树 D 根结点 R 右子树 遍历二叉树的方法: 先序遍历 DLR 中序遍历 LDR 后序遍历 LRD 由于其中的左右子树也是二叉树,属于递归结构,所以常常借助递归算法实现。 若二叉树为空,则空操作; 否则, 访问根结点; 先序遍历左子树; 先序遍历右子树。 若二叉树为空,则空操作; 否则, 中序遍历左子树; 访问根结点; 中序遍历右子树。 若二叉树为空,则空操作; 否则, 后序遍历左子树; 后序遍历右子树。 访问根结点; 算法: int NodeCount ( BiTree T ) { if (T ==0 ) return 0; else return 1+NodeCount(T-lchild) +NodeCount(T-rchild); } 算法: int Depth(BiTree T ) { if (T==0 ) return 0; else return 1+max(Depth(T-lchild), Depth(T-rchild)); } 分析:先序序列的第一个是根,这是解题的突破口。 步骤:①先序序列的第一个是根 ②在中序序列中标出根,分成左右子树 ③在先序序列中标出左右子树(根据结点个数即可) ④分别对左右子树的先序和中序序列重复以上步骤直至完成。 例3: 设二叉树的中序序列为BDCEAGHF,后序序列为DECBHGFA,画出此二叉树。 §6.3.2 线索二叉树 何谓线索二叉树? 线索链表的遍历算法 如何建立线索链表? 课堂总结 主要内容:二叉链表存储结构;遍历二叉树的递归算法及其应用,包括:写遍历序列,统计(叶)结点个数,二叉树的深度,根据给定序列画出二叉树等,线索二叉树。 重点难点:遍历二叉树的递归算法及其应用。 L R D L R D L R D □ A □ □ D □ □ C L R D 后序遍历序列:D B C A 例4: 后序遍历 B A D B C □ □ □ □ □ void Postorder ( BiTree T ) { if ( T ) { //如果二叉树不为空 Postorder ( T - lchild ) ; //后序遍历左子树 Postorder ( T - rchild ) ; //后序遍历右子树 printf( T - data) ; //输出根结点 } } 递归算法描述 inorder(B子树); printf (A); inorder(C子树); A B C D E F T 参数T是A结点 (1)调用 inorder(NULL); printf (B); inorder(D子树); 参数T是B结点 输出B B (2)调用 inorder(NULL); printf (D); inorder(NULL); 参数T是D结点 输出D D (1)返回 (2)返回 输出A A (3)调用 参数T是C结点 inorder(NULL); printf (C); inorder(E子树); 输出C C
您可能关注的文档
- 第6篇 PHOTOSHOP中的颜色彻底研究.ppt
- 第6篇 程序设计.ppt
- 第6篇 创建动画.ppt
- 第6篇 数据访问页.ppt
- 现代公司制度的内涵及国有公司改革方向 3.pdf
- 现代汉语选择问句法来源.pdf
- 从标签式趋同到内涵式多样_生态课堂研究的回顾及前瞻.pdf
- 第6篇 数据库设计.ppt
- 从过渡模式到目标模式——对陕西省农业社会化服务体系的调查及思考.pdf
- 第6篇 注册表安全10.ppt
- 浙江省临海市白云高级中学2025届高三历史3月月考试题.doc
- 云南拾谷县第一中学2024_2025学年高二物理上学期10月月考试题.doc
- 2025版高考生物总复习第13讲基因的分离定律教案苏教版.doc
- 湖北省黄石实验高中2024_2025学年高一历史下学期期末考试模拟卷.doc
- 通史版2025版高考历史大一轮复习专题七近代化的曲折发展__中日甲午战争至五四运动前4第4讲从维新思想到新文化运动课后达标检测含解析新人教版.doc
- 2024年高考数学考试大纲解读专题04导数及其应用含解析文.doc
- 河南省许汝平九校联盟2024_2025学年高一语文上学期期末考试试题扫描版无答案.doc
- 江西省吉安市吉水县第二中学2024_2025学年高一历史上学期第二次月考试题.doc
- 北京市平谷区2025届高三政治一模考试试题含解析.doc
- 2025届中考物理第四讲物态变化专项复习测试无答案新人教版.docx
最近下载
- 武汉理工大学《高等数学》2022-2023学年第一学期期末试卷及答案.docx
- 《企业财务会计》全套PPT课件.pptx
- 社会体育建设方案-专业教学资源库备选项目材料.pdf VIP
- 美的品牌案例分析.pptx VIP
- 美的案例分析.pptx VIP
- 小学生秋季学期第1-20周国旗下讲话稿(新).pdf
- 边做边学——Dreamweaver CS6网页设计案例教程(第3版)(共12单元)01.ppt VIP
- 武汉理工大学2023-2024学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- 清洁生产与循环经济( 第二版) 教学课件 作者 奚旦立徐淑红高春梅 主编 第4章 清洁生产.ppt
- 美的品牌案例分析.pptx VIP
文档评论(0)