第4单元非线性数据结构树、二叉树主讲:刘志强内容摘要:
普通树 二叉树 ( a) ( b) ( c) ( d) ( e) O O O O O O 有两种不同形式 ( a) ( b) O O O O O O O O O O O O O O O 有五种不同形式 下一页 上一页 停止放映 第 33 页 二叉树与树的区别(二) 观念 – 二叉树的子树有顺序关系 , 分左子树和右子树 , 而树则无此区分 ; – 二叉树的分支度一定为 0、 1或 2,而树的度可大于 2。 下一页 上一页 停止放映 第 34 页 二叉树的性质 性质一 二叉树的第 i层上至多有 2i1 个结点 ( i 1)。 利用归纳法证明: – i=1时 , 只有一个结点 , 对的; – 假设对所有的 j, 1 j i, 命题成立 , 即在第 j层上 , 至多有 2j1 个结点。 – 由归纳假设 , 第 i1层上至多有 2i2 个结点。 由于二叉树的每个结点的度至多为 2, 故第 i层上的最大结点数为第 i1层上的最大结点数的 2倍 , 即 2 2i2 = 2i1。 下一页 上一页 停止放映 第 35 页 二叉树的性质(二) 性质二 深度为 k的二叉树上最多含有 2k1个结点 ( k 1)。 由性质一可见 , 深度为 k的二叉树的最大结点数为: k i=1 i=1 k ( 第 i层上的最大结点数 ) = 2i1 = 2k1 下一页 上一页 停止放映 第 36 页 验证二叉树的性质 1 2 3 8 6 5 7 4 10 9 11 12 13 14 15 该二叉树的第 3层有 231 个结点。 该二叉树深度为 4,最多有 241 个结点。 下一页 上一页 停止放映 第 37 页 二叉树的存储结构 顺序存储 ( 一维数组 ) 记录数组结构 链式存储结构 – 二叉链表 – 三叉链表 下一页 上一页 停止放映 第 38 页 顺序存储法(一维数组) 若一个二叉树的树高为 n,则对一个满二叉树,其结点个数为 2n1。 存入时按从左到右,从低阶层到高阶层的顺序存放。 A B C D E F G 0 1 2 3 4 5 6 7 A B C D E F G 0 1 2 3 4 5 6 7 A B E A B E 满树 非满树 下一页 上一页 停止放映 第 39 页 顺序存储(一维数组) 存储描述为: define MAXSIZE 100; typedef TElemType SBTree[MAXSIZE]; SBTree bt; 不便查找。 a1 a2 a3 a4 ... an 下一页 上一页 停止放映 第 40 页 记录数组结构 存储结构描述 : define MAXSIZE 100。 typedef struct SBNode { TElemType data。 int Lchild,Rchild。 } SBNode。 typedef struct{ SBNode nodes[MAXSIZE]。 } SBTree。 下一页 上一页 停止放映 第 41 页 记录数组结构举例 1 2 6 3 4 5 1 2 6 2 3 4 3 0 5 4 0 0 5 0 0 6 0 0 结点 左子 右子 特点 : 找子方便 ,找父结点不便 . 下一页 上一页 停止放映 第 42 页 二叉链表存储结构 data leftp rightp 左指针 数据 右指针 A B C D E F G A B D C E F G ^ ^ ^ ^ ^ ^ ^ ^ 特点 : 找子易 , 找父难 . 下一页 上一页 停止放映 第 43 页 三叉链表存储结构 parent data rightp 左指针 数据 父结点 右指针 A B C D E F G C ^ ^ ^ ^ ^ ^ 特点 : 找子、找父都易。 leftp ^ ^ A B D E G ^ F 下一页 上一页 停止放映 第 44 页 特殊二叉树 满二叉树 完全二叉树 平衡二叉树 二叉排序树 下一页 上一页 停止放映 第 45 页 满二叉树 若 k为二叉树 T的深度 , 且 T中共有 2k1个结点 ( k 1) , 则称 T为满二叉树。 ( a) 满二叉树 ( b) 非满二叉树 O O O O O O O O O O O O O 下一页 上一页 停止放映 第 46 页 满二叉树的性质 若对满二叉树从第 1层开始 ,自上而下 、 从左至右给每个结点从 1开始编号的话 , 则称深度为 k的满二叉树的结点编号满足: – 对某结点 i( 1 i 2k1 1) , 其左子树根的编号为 2*i( 偶数 ) , 其右子树根的编号为 2*i+1( 奇数 ) ; ( 非叶结点 ) – 若 i1,则结点 i父结点的编号为 i/2(整除 )。 根据这一性质 , 可用一维数组存储满二叉数的结点数据。 知道一个结点的编号 , 经计算就能求出左 、 右子树的根及父结点的编号。 下一页 上一页 停止放映 第 47 页 满二叉树存储举例 1 4 3 2 5 7 6 1 2 3 4 5 6 7 1 2 3 4 5 6。第4单元非线性数据结构树、二叉树主讲:刘志强
相关推荐
主语 ::=冠词 形容词 名词 冠词 ::=the 形容词 ::=big 名词 ::=elephant | peanut 谓语 ::=动词 宾语 动词 ::=ate 宾语 ::=冠词 名词 上述推导可写成 句子 = the big elephant ate the peanut + 说明: (1) 有若干语法成分同时存在时,我们总是从最左的语法成 分进行推导,这称之为 最左推导 ,类似的有
2.全响应分解为自由响应与强迫响应 自由响应又称固有响应 , 它反映了 系统本身的特性 , 取决于系统的特征根; 强迫响应又称强制响应 , 是 与激励相关 的响应。 利用经典法可以直接求得自由响应与强迫响应 , 强迫响应即特解 先求得系统的零输入响应和零状态响应 , 并获得系统的全响应; 然后利用系统特性与自由响应 、 激励与强迫响应的关系可以间接得到自由响应和强迫响应。
独尊儒术 适应中央集权的需要 材料三 天子受命于天,天下受命于天子。 受命之君,天意之所予也。 材料四 与天同者大治,与天异者大乱,故为人主之道,莫明于在身之与天同者而用之。 —— 董仲舒 《 春秋繁露 》 请思考:汉武帝为何采纳董仲舒的主张。 君权神授 天人感应 加强君权的需要 神化皇权 从 理论上 解决了汉武帝国家 “大一统” 的需要 ,有利于 巩固统治。 (以思想的大一统巩固政治的大一统)
探究二:通电导线周围的磁场分布 : ( 1)通电 时间不宜过长 , 电流不宜过 大容易导致学生电源过载 ( 2) 更换电流的方向 重做实验观察磁场的方向 : 12345组直线电流, 6789 10组环形电流, 11 12 13 14 15 16组通电螺线管。 通电直导线 电流周围的磁场是怎样分布的。 成果展示 二 环形电流 现象展示 通电螺线管 现象展示 模型演变 直线电流
描述外部服务 一般情况下,对象包含的操作主要有:对象的创建与初始化、对象的连接、存取对象的属性值、释放对象、计算、监督等。 用适当的名字来标识这些操作,并加上适当的文字或图表说明。 最后,将所有的 OOA文档汇集起来,包括: 5层OOA模型(主题、类 — 对象、结构、属性和操作)、类 — 对象说明和必要的辅助文档。 面向对象的设计
滤 架桥现象 过滤中的 架桥现象 如 : 水经过砂层的净化过程 2020/11/29 第 4章 流体通过颗粒层的流动 4 板框式压滤机 22 aA 单baV 2单aab 框 aa板 2020/11/29 第 4章 流体通过颗粒层的流动 5 2020/11/29 第 4章 流体通过颗粒层的流动 6 2020/11/29 第 4章 流体通过颗粒层的流动 7 叶滤机 1P2P板框式压滤机