计算机软件基础(自考10)课题.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
四、树、森林和二叉树 1)树的孩子兄弟表示 口诀:竖线连接左孩子,横线连接亲兄弟。 例:将如图所示树,用树的孩子兄弟表示。 A B D C E F A B D C E F 3、孩子兄弟链式存储法 四、树、森林和二叉树 2)用链连接各节点。 A B D C E F 3、孩子兄弟链式存储法 A ^ B C D E F ^ ^ ^ ^ ^ ^ 存储 date 指向大孩子 指向下一个兄弟 四、树、森林和二叉树 1. 树变二叉树 step1:写出树的孩子兄弟表示; step2:将竖线变成左子树,横向变成右子树。 A B D C E F A B D C E F A B C D E F A 一、 树的存储结构 四、树、森林和二叉树 3. 树的遍历 树的遍历有:先序和后序 注意: 树的先序遍历结果与对应二叉树的先序遍历结果相同; 树的后序遍历结果与对应二叉树的中序遍历结果相同。 四、树、森林和二叉树 4. 森林变二叉树 step1: 把构成森林的每一棵树变成二叉树; step2: 依次把后一棵二叉树连在前一棵二叉树根的 右子树上。 M J K L G H I A B D C E F A B C D E F G H I J K L M 四、树、森林和二叉树 4. 森林变二叉树(续) A B C D E F J K L M G H I 计算机 软件基础 第二篇 数据结构基础 第十章 树和二叉树 一、树(tree) 1. 树的定义 树:是一个具有n(n≥0)个节点的有限集合T。满足以下两个条件: (1) 任意一颗树有且仅有一个特定的根节点(root node)。 (2)除根节点以外,其余节点可以分为m(m ≥0 )个互不相交的子集T1,T2, … Tm,其中每个子集本身又是一颗树,称为根的子树。 结论:一棵树由若干子树构成,而每一颗子树由若干颗子子树构成。 一、树(tree) 2. 树的表示形式 A B C D E F 自然表示法 集合表示法 A B C E D F 层次表示法 1A 1.1A 1.2B 1.2.1E 1.2.2F 1.3D 一、树(tree) 3. 树的有关名词 (1)节点的度:节点的孩子数。 (2)树的度=树的叉=拥有孩子最多节点的孩子个数 (3)叶子节点=终端节点=没有孩子的节点 (4)双亲节点:指的是这个节点的父亲节点。 (5)树的高度=树的层数 二、二叉树 二叉树:最多具有两个树杈的树。其中,左边的 树杈称为该节点的左子树,右边的树杈称为该节点 的右子树。 2. 二叉树的基本形态:共5种 一个 节点 也没 有 只有 一个 根节 点 只有左子 树 只有右子 树 左、右子 树都有 二、二叉树 3. 二叉树与一般树的区别: 子树有左、右之分(有序树) 不要求子树木顺序(无序树) 树的度≤2 树的度≥0 可以一个根节点都没有(n ≥ 0) 树中至少有一个根节点(n0) 二叉树 一般树 二、二叉树 4. 二叉树的性质 性质1:二叉树的第 i 层上最多有2i-1个节点(i ≥ 1); 性质2:高度为 k 的二叉树最多有2k-1个节点(k ≥ 1) ; 性质3:任意一颗二叉树中,如果没有孩子的节点个数 为n0,有两个孩子的节点个数为n2,那么n0=n2+1 二、二叉树 5. 二叉树的两种特殊情形: (1)满二叉树:除叶子节点以外,其它节点都有两个 孩子,而且叶子节点位于同一层上的二叉树。 满二叉树 (2)完全二叉树:一个满二叉树的最下层,从右向左 连续缺少n个节点的二叉树。 完全二叉树 注意:深度为k的满二叉树,有2k-1个节点 二、二叉树 例: (2010.4单选)一个深度为 k 的完全二叉树中节点数至少有( )。 A 2k B 2k-1 C 2k+1 D 2k-1 二、二叉树 例10-1 试写出具有3个节点的所有不同形态的树和 二叉树。 二叉树有五种: 树有2种:① ② 二、二叉树 6. 二叉树的存储结构———顺序存储 操作步骤为: step1:现将二叉树变成完全二叉树(给有关节点补 够两个孩子,所补节点为虚拟节点,仅占个空间) step2:将这个完全二叉树中各节点从上到下,逐层 由左向右一次存放到计算机连续空间中。 二、二叉树 例10-2: 1 2 3 4 5 7 8 9 10 11 12 13 6 a b c d a b c d 13 1 2 3 4 5 6 7 8 9 10 11 12 a b c d 二、二叉树 例10-3 一个深度为K且只有K个节点的二叉树顺序存储 最多需要多少个存储空间,最少需要多少个。 二、二叉树 (2)完全二叉树节点顺序编号的意义 1 2 4 3 6 5 7 8 10 9 二、二叉树 例10-4 一个完全

文档评论(0)

舞林宝贝 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档