数据结构+二叉树及遍历ppt课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据结构+二叉树及遍历ppt课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 二叉 遍历 ppt 课件
- 资源描述:
-
1、数据结构和算法数据结构和算法课程课程13Ver. 1.0目标目标在本章中,你将学习:在树中存储数据实现二叉树实现二叉搜索树1数据结构和算法数据结构和算法课程课程13Ver. 1.0在树中存储数据在树中存储数据假设你被要求呈现操作系统的目录结构。目录结构含有不同的文件夹和文件。一个文件夹可能含有更多的子文件夹和文件。在这种情况下,要用线型结构来表示这种结构几乎是不可能的,因为所有的项目之间都有层级关系。要表示这样的结构,就需要一种非线型的数据存储机制。2数据结构和算法数据结构和算法课程课程13Ver. 1.0一个树结构就是以非线型结构来表示不同数据元素之间的层级关系的数据结构。ABCDIJHKG
2、LMFE定义树结构定义树结构 树被应用于数据元素之间的关系以层级关系来表示的应用程序中。3数据结构和算法数据结构和算法课程课程13Ver. 1.0每个树结构中的数据元素都被称为一个节点。最顶层的节点被称为根(root)。root定义树结构(续)定义树结构(续)nodeABCDIJHKGLMFE4数据结构和算法数据结构和算法课程课程13Ver. 1.0树中的每一个节点在其层级下可能有子树。root定义树结构(续)定义树结构(续)nodeABCDIJHKGLMFE5数据结构和算法数据结构和算法课程课程13Ver. 1.0树结构术语树结构术语叶子节点:指没有子节点的节点。叶子节点:指没有子节点的节点
3、。 节点 E, F, G, H, I, J, L, 和 M 是叶子节点。ABCDIJHKGLMFE让我们来讨论树结构常用的一些术语。6数据结构和算法数据结构和算法课程课程13Ver. 1.0子树:子树:是树结构的一部分, 但它本身也可被看作一个树结构,这就是子树。 子树也可以含有叶子节点。子节点:子节点:一个树结构中子树的根节点被称为子节点。 树结构术语(续)树结构术语(续) 有根B的树结构包含节点E、F、G和H,此树是节点A的子树。 E, F, G和 H 是B节点的子节点。 B是这些节点的父节点。ABCDIJHKGLMFE7数据结构和算法数据结构和算法课程课程13Ver. 1.0节点的度:节
4、点的度:它指树结构中一个节点的子树的数量。树结构术语(续)树结构术语(续)C节点的度为1D节点的度为2A节点的度为3B节点的度为4ABCDIJHKGLMFE边:边:从父节点到子节点的连接被称为一个边。Edge8数据结构和算法数据结构和算法课程课程13Ver. 1.0 B、C和D节点互为兄弟节点。 E、F、G和H互为兄弟节点。兄弟:兄弟:它指同一个节点的子节点。树结构术语(续)树结构术语(续)ABCDIJHKGLMFE9数据结构和算法数据结构和算法课程课程13Ver. 1.0节点的层级:节点的层级:它指一个节点与根节点之间的距离(按节点数目计算)。根节点永远位于0级。当你将树移至低处,层级增加1
5、。树结构术语(续)树结构术语(续)内部节点:内部节点:它指根节点与叶子节点之间的中间节点 。 节点 B, C, D和 K 是内部节点。Level 0Level 1Level 2Level 3ABCDIJHKGLMFE10数据结构和算法数据结构和算法课程课程13Ver. 1.0树结构术语(续)树结构术语(续)树结构的深度:树结构的深度:指一个树结构的最大层级。下面的树结构的深度是 4。Level 0Level 1Level 2Level 3ABCDIJHKGLMFE11数据结构和算法数据结构和算法课程课程13Ver. 1.0查看下列树结构并回答问题:a. 该树的深度为多少?b. 节点B的子节点是
6、那个?c. F节点的父节点是那个?d. E节点的层级为多少?e. H节点的兄弟节点是那个?f.D节点的兄弟节点是那个?g. 那些节点是叶子节点?课间思考课间思考ABFGCEDHIroot12数据结构和算法数据结构和算法课程课程13Ver. 1.0课间思考(续)课间思考(续)答案:a. 4b. D 和Ec. Cd. 2e. H 没有兄弟节点f.D节点的兄弟节点是Eg. F, G, H和 I13数据结构和算法数据结构和算法课程课程13Ver. 1.0定义二叉树定义二叉树一个二叉树就是每个节点只能最多拥有2个子节点的树结构。这些子节点一般被视为左子节点和右子节点。 二叉树有各种类型:严格二叉树二叉树
7、的每一个节点(叶节点除外)都有非空的左子节点和右子节点。满二叉树完整二叉树14数据结构和算法数据结构和算法课程课程13Ver. 1.0满二叉树 深度d的二叉树拥有刚好2d 1个节点。ABCDEFG 深度 = 3 节点数 = 23 1 = 7定义二叉树(续)定义二叉树(续)15数据结构和算法数据结构和算法课程课程13Ver. 1.0完整二叉树: 指有 n 个节点且深度为 d ,且其节点对应深度为k 的完整二叉树中序号从0到n 1 的节点。ABCDEF完整二叉树完整二叉树ABCDEG不完整二叉树不完整二叉树定义二叉树(续)定义二叉树(续)ABCDEF满二叉树满二叉树G012654301234501
8、234516数据结构和算法数据结构和算法课程课程13Ver. 1.0表示一个二叉树表示一个二叉树二叉树的数组表示:所有节点被表示为数组中的元素。ABCDEFGABCDEGF01234560123456二叉树二叉树数组表示数组表示如果一个二叉树有N个节点,那么对于索引为I的任何节点,其中0 i n 1, 那么此节点没有左子节点。i 的右子节点位于 2i + 2:如果 2i + 2 n 1,那么此节点没有右子节点。17数据结构和算法数据结构和算法课程课程13Ver. 1.0二叉树的链接表现形式:使用链接列表来实现一个二叉树。链接表示中的每个节点都具有以下信息:数据对左子节点的引用对右子节点的引用如
展开阅读全文