




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章树和二叉树 数据结构讲义 树的定义和性质 信息工程学院魏洪涛Email greattide 6 1树的定义 树是一类重要的非线性数据结构 是以分支关系定义的层次结构 定义定义 树 tree 是n n 0 个结点的有限集T 其中 有且仅有一个特定的结点 称为树的根 root 当n 1时 其余结点可分为m m 0 个互不相交的有限集T1 T2 Tm 其中每一个集合本身又是一棵树 称为根的子树 subtree 特点 树中至少有一个结点 根树中各子树是互不相交的集合 非递归定义 树结构是二元组 D R 其中D是n个数据元素的有穷集合 n 0 数据元素称为结点 R是D上的一个关系 n 0时称为空树 n 0时它满足以下条件 1 有且仅有一个结点d0 D 满足不存在任何d D 使 R 称其为树的根 2 除根结点d0外 D上每个结点d 若有的话 总存在一个唯一的结点d D d d 使得 R 根 子树 基本术语结点 node 表示树中的元素 包括数据项及若干指向其子树的分支结点的度 degree 结点拥有的子树数叶子 leaf 度为0的结点孩子 child 结点子树的根称为该结点的孩子双亲 parents 孩子结点的上层结点叫该结点的 兄弟 sibling 同一双亲的孩子树的度 一棵树中最大的结点度数结点的层次 level 从根结点算起 根为第一层 它的孩子为第二层 深度 depth 树中结点的最大层次数森林 forest m m 0 棵互不相交的树的集合 结点A的度 3结点B的度 2结点M的度 0 叶子 K L F G M I J 结点A的孩子 B C D结点B的孩子 E F 结点I的双亲 D结点L的双亲 E 结点B C D为兄弟结点K L为兄弟 树的度 3 结点A的层次 1结点M的层次 4 树的深度 4 结点F G为堂兄弟结点A是结点F G的祖先 b a c g h d e f i j 树的表示 树形表示 图形表示法 武汉理工大学 叶子 根 子树 凹入表表示 a b d e i j f c g h 嵌套集合表示 嵌套括号表示 i j d f g h a b c e a b d e i j c g h 6 2二叉树 定义定义 二叉树是n n 0 个结点的有限集 它或为空树 n 0 或由一个根结点和两棵分别称为左子树和右子树的互不相交的二叉树构成 特点每个结点至多有二棵子树 即不存在度大于2的结点 二叉树的子树有左 右之分 且其次序不能任意颠倒基本形态 二叉树性质性质1 证明 用归纳法证明之 i 1时 只有一个根结点 是对的 假设对所有j 1 j i 命题成立 即第j层上至多有个结点那么 第i 1层至多有个结点又二叉树每个结点的度至多为2 第i层上最大结点数是第i 1层的2倍 即故命题得证 性质2 深度为k的二叉树至多有个结点 k 1 证明 由性质1 可得深度为k的二叉树最大结点数是 性质3 对任何一棵二叉树T 如果其终端结点数为n0 度为2的结点数为n2 则n0 n2 1 证明 n1为二叉树T中度为1的结点数 因为 二叉树中所有结点的度均小于或等于2 所以 其结点总数n n0 n1 n2 又二叉树中 除根结点外 其余结点都只有一个分支进入 设B为分支总数 则n B 1 又 分支由度为1和度为2的结点射出 B n1 2 n2于是 n B 1 n1 2n2 1 n0 n1 n2 n0 n2 1 几种特殊形式的二叉树满二叉树定义 一棵深度为k且有2k 1个结点的二叉树成为 特点 每一层上的结点数都是最大结点数完全二叉树定义 深度为k 有n个结点的二叉树当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时 称为 特点叶子结点只可能在层次最大的两层上出现对任一结点 若其右分支下子孙的最大层次为L 则其左分支下子孙的最大层次必为L或L 1 对任意一棵满二叉树 从它的最后一层的最右结点起 按从下到上 从右到左的次序 去掉若干个结点后所成的树即为完全二叉树 左分支层数大于或等于右分支层数 性质性质4 性质5 如果对一棵有n个结点的完全二叉树的结点按层序编号 则对任一结点i 1 i n 有 如果i 1 则结点i是二叉树的根 无双亲 如果i 1 则其双亲是 i 2 如果2i n 则结点i无左孩子 如果2i n 则其左孩子是2i如果2i 1 n 则结点i无右孩子 如果2i 1 n 则其右孩子是2i 1 二叉树的存储结构顺序存储结构实现 按满二叉树的结点层次编号 依次存放二叉树中的数据元素特点 结点间关系蕴含在其存储位置中浪费空间 适于存满二叉树和完全二叉树 链式存储结构二叉链表 typedefstructnode datatypedata structnode lchild rchild JD 在n个结点的二叉链表中 有n 1个空指针域 空指针个数 2 n0 1 n1 0 n2 2n0 n1 n0 n1 n0 n0 n1 n2 1 n 1 三叉链表 typedefstructnode datatypedata structnode lchild rchild parent JD 作业 一 下面是有关二叉树的叙述 请判断正误 1 若二叉树用二叉链表作存贮结构 则在n个结点的二叉树链表中只有n 1个非空指针域 2 二叉树中每个结点的两棵子树的高度差等于1 3 二叉树中每个结点的两棵子树是有序的 4 二叉树中每个结点有两棵非空子树或有两棵空子树 5 二叉树中每个结点的关键字值大于其左非空子树 若存在的话 所有结点的关键字值 且小于其右非空子树 若存在的话 所有结点的关键字值 6 二叉树中所有结点个数是2k 1 1 其中k是树的深度 7 二叉树中所有结点 如果不存在非空左子树 则不存在非空右子树 8 对于一棵非空二叉树 它的根结点作为第一层 则它的第i层上最多能有2i 1个结点 9 用二叉链表法 link rlink 存储包含n个结点的二叉树 结点的2n个指针区域中有n 1个为空指针 10 具有12个结点的完全二叉树有5个度为2的结点 二 填空 1 由 个结点所构成的二叉树有种形态 2 一棵深度为6的满二叉树有个分支结点和个叶子 3 一棵具有 个结点的完全二叉树 它的深
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2025年标准)华为持股协议书
- 2025年电池电源行业需求分析及创新策略研究报告
- (2025年标准)户头同意更名协议书
- 2025年日用玻璃制品与玻璃包装容器行业需求分析及创新策略研究报告
- 2025年电子标签行业需求分析及创新策略研究报告
- 2025年履带式起重机行业规模分析及投资前景研究报告
- 地标建筑消防控制室管理制度及职责
- 2025年人造肉行业需求分析及创新策略研究报告
- 2025年面板行业需求分析及创新策略研究报告
- 2025年健康产业行业前景分析及投资机遇研究报告
- 2023年江苏省连云港市灌南县小升初数学试卷
- 绘本分享《狐狸打猎人》
- 中兴ZCTP-SDH传输售后认证考试题库(含答案)
- 义务教育英语课程标准2022年(word版)
- 产品表面外观缺陷的限定标准
- 肾上腺皮质激素课件
- 紧急宫颈环扎术的手术指征及术后管理
- 冻结法原理岳丰田
- Unit 2 Lets celebrate Developing ideas-Writing a letter to express 课件【知识精讲+拓展训练】高中英语外研版(2019)必修第二册
- 新教材高中历史必修中外历史纲要上全册教学课件
- 图标设计与制作PPT完整全套教学课件
评论
0/150
提交评论