《无向树及生成树》PPT课件.ppt

上传人:sh****n 文档编号:8660858 上传时间:2020-03-30 格式:PPT 页数:29 大小:314.50KB
返回 下载 相关 举报
《无向树及生成树》PPT课件.ppt_第1页
第1页 / 共29页
《无向树及生成树》PPT课件.ppt_第2页
第2页 / 共29页
《无向树及生成树》PPT课件.ppt_第3页
第3页 / 共29页
点击查看更多>>
资源描述
1 第9章树 9 1无向树及生成树9 2根树及其应用 2 9 1无向树及生成树 无向树 森林树枝 弦 余树生成树基本回路与基本回路系统基本割集与基本割集系统最小生成树 3 无向树 无向树 树 连通而无回路的无向图 用T表示 平凡树 平凡图森林 每个连通分支都是树的非连通的无向图树叶 树中度数为1的顶点分支点 树中度数 2的顶点右图为一棵12阶树 声明 本章中所讨论的回路均指简单回路或初级回路 4 无向树的性质 定理9 1设G 是n阶m条边的无向图 则下面各命题是等价的 1 G是树 连通无回路 2 G中任意两个顶点之间存在惟一的路径 3 G中无回路且m n 1 4 G是连通的且m n 1 5 G是连通的且G中任何边均为桥 6 G中没有回路 但在任何两个不同的顶点之间加一条新边后所得图中有惟一的一个含新边的圈 5 无向树的性质 续 定理9 2设T是n阶非平凡的无向树 则T中至少有两片树叶 证设T有x片树叶 由握手定理及定理9 1可知 由上式解出x 2 6 例题 例1已知无向树T中 有1个3度顶点 2个2度顶点 其余顶点全是树叶 试求树叶数 并画出满足要求的非同构的无向树 解用树的性质m n 1和握手定理 设有x片树叶 于是n 1 2 x 3 x 2m 2 n 1 2 2 x 1 3 2 2 x解出x 3 故T有3片树叶 T的度数列为1 1 1 2 2 3有2棵非同构的无向树 如图所示 7 例题 例2已知无向树T有5片树叶 2度与3度顶点各1个 其余顶点的度数均为4 求T的阶数n 并画出满足要求的所有非同构的无向树 解设T的阶数为n 则边数为n 1 4度顶点的个数为n 7 由握手定理得2m 2 n 1 5 1 2 1 3 1 4 n 7 解出n 8 4度顶点为1个 T的度数列为1 1 1 1 1 2 3 4有3棵非同构的无向树 8 生成树 设G为无向连通图G的生成树 G的生成子图并且是树生成树T的树枝 G在T中的边生成树T的弦 G不在T中的边生成树T的余树 所有弦的集合的导出子图注意 不一定连通 也不一定不含回路 右图黑边构成生成树红边构成余树 9 生成树的存在性 定理任何无向连通图都有生成树 证用破圈法 若图中无圈 则图本身就是自己的生成树 否则删去圈上的任一条边 这不破坏连通性 重复进行直到无圈为止 剩下的图是一棵生成树 推论1设n阶无向连通图有m条边 则m n 1 推论2设n阶无向连通图有m条边 则它的生成树的余树有m n 1条边 推论3设为G的生成树T的余树 C为G中任意一个圈 则C与一定有公共边 10 基本回路与基本回路系统 定义设T是n阶m条边的无向连通图G的一棵生成树 设e1 e2 e m n 1为T的弦 设Cr为T添加弦er 产生的G中惟一的圈 由er 和树枝组成 称Cr为对应弦er 的基本回路或基本圈 r 1 2 m n 1 称 C1 C2 Cm n 1 为对应T的基本回路系统 求基本回路的算法 设弦e u v 先求T中u到v的路径 uv 再并上弦e 即得对应e的基本回路 11 基本割集与基本割集系统 定义设T是n阶连通图G的一棵生成树 e1 e2 e n 1为T的树枝 Si是G的只含树枝ei 其他边都是弦的割集 称Si为对应生成树T由树枝ei 生成的基本割集 i 1 2 n 1 称 S1 S2 Sn 1 为对应T的基本割集系统 求基本割集的算法 设e 为生成树T的树枝 T e 由两棵子树T1与T2组成 令Se e e E G 且e的两个端点分别属于T1与T2 则Se 为e 对应的基本割集 12 实例 例图中红边为一棵生成树 求对应它的基本回路系统与基本割集系统解弦e f g对应的基本回路分别为Ce ebc Cf fabc Cg gabcd C基 Ce Cf Cg 树枝a b c d对应的基本割集分别为Sa a f g Sb b e f g Sc c e fg Sd d g S基 Sa Sb Sc Sd 13 无向图与最小生成树 对无向图或有向图的每一条边e附加一个实数w e 称作边e的权 图连同附加在边上的权称作带权图 记作G 设G 是G的子图 G 所有边的权的和称作G 的权 记作W G 最小生成树 带权图权最小的生成树求最小生成树的算法 避圈法 Kruskal 设G 将非环边按权从小到大排序 e1 e2 em 1 取e1在T中 2 检查e2 若e2与e1不构成回路 则将e2加入T中 否则弃去e2 3 检查e3 重复进行直至得到生成树为止 14 实例 例求图的一棵最小生成树 W T 38 15 9 2根树及其应用 有向树根树 树根 树叶 内点 分支点家族树 根子树 有序树r元树 r元有序树 r元正则树 r元有序正则树 r元完全正则树 r元有序完全正则树 最优2元树与Huffman算法前缀吗与最佳前缀吗中序行遍法 前序行遍法 后续行遍法波兰符号法与逆波兰符号法 16 有向树与根树的定义 有向树 基图为无向树的有向图根树 有一个顶点入度为0 其余的入度均为1的非平凡的有向树树根 有向树中入度为0的顶点树叶 有向树中入度为1 出度为0的顶点内点 有向树中入度为1 出度大于0的顶点分支点 树根与内点的总称顶点v的层数 从树根到v的通路长度树高 有向树中顶点的最大层数 17 根树 续 根树的画法 树根放上方 省去所有有向边上的箭头如右图所示a是树根b e f h i是树叶c d g是内点a c d g是分支点a为0层 1层有b c 2层有d e f 3层有g h 4层有i 树高为4 18 家族树 定义把根树看作一棵家族树 1 若顶点a邻接到顶点b 则称b是a的儿子 a是b的父亲 2 若b和c为同一个顶点的儿子 则称b和c是兄弟 3 若a b且a可达b 则称a是b的祖先 b是a的后代 设v为根树的一个顶点且不是树根 称v及其所有后代的导出子图为以v为根的根子树 19 根树的分类 有序树 将根树同层上的顶点规定次序r元树 根树的每个分支点至多有r个儿子r元正则树 根树的每个分支点恰有r个儿子r元完全正则树 树叶层数相同的r元正则树r元有序树 有序的r元树r元正则有序树 有序的r元正则树r元完全正则有序树 有序的r元完全正则树 20 最优2元树 定义设2元树T有t片树叶v1 v2 vt 树叶的权分别为w1 w2 wt 称为T的权 记作W T 其中l vi 是vi的层数 在所有有t片树叶 带权w1 w2 wt的2元树中 权最小的2元树称为最优2元树 21 求最优树 Huffman算法 给定实数w1 w2 wt 作t片树叶 分别以w1 w2 wt为权 在所有入度为0的顶点 不一定是树叶 中选出两个权最小的顶点 添加一个新分支点 以这2个顶点为儿子 其权等于这2个儿子的权之和 重复 直到只有1个入度为0的顶点为止 W T 等于所有分支点的权之和 22 实例 例求带权为1 1 2 3 4 5的最优树解题过程由下图给出 W T 38 23 前缀码 设 1 2 n 1 n是长度为n的符号串 的前缀 1 2 k k 1 2 n 1前缀码 1 2 m 其中 1 2 m为非空字符串 且任何两个互不为前缀2元前缀码 只出现两个符号 如0与1 的前缀码如 0 10 110 1111 10 01 001 110 是2元前缀码 0 10 010 1010 不是前缀码 24 前缀码 续 一棵2元树产生一个二元前缀码 对每个分支点 若关联2条边 则给左边标0 右边标1 若只关联1条边 则可以给它标0 看作左边 也可以标1 看作右边 将从树根到每一片树叶的通路上标的数字组成的字符串记在树叶处 所得的字符串构成一个前缀码 如右图所示 25 最佳前缀码 例在通信中 设八进制数字出现的频率如下 0 25 1 20 2 15 3 10 4 10 5 10 6 5 7 5 采用2元前缀码 求传输数字最少的2元前缀码 称作最佳前缀码 并求传输10n n 2 个按上述比例出现的八进制数字需要多少个二进制数字 若用等长的 长为3 的码字传输需要多少个二进制数字 解用Huffman算法求以频率 乘以100 为权的最优2元树 这里w1 5 w2 5 w3 10 w4 10 w5 10 w6 15 w7 20 w8 25 最优2元树如图所示 26 编码 0 011 112 0013 1004 1015 00016 000007 00001传100个按比例出现的八进制数字所需二进制数字的个数为W T 285 传10n n 2 个所用二进制数字的个数为2 85 10n 而用等长码 长为3 需要用3 10n个数字 27 波兰符号法与逆波兰符号法 行遍 周游 根树T 对T的每个顶点访问且仅访问一次 行遍2元有序正则树的方式 中序行遍法 左子树 根 右子树 前序行遍法 根 左子树 右子树 后序行遍法 左子树 右子树 根例如 对图所示根树按中序 前序 后序行遍法访问结果分别为 ba fdg ceab c dfg e b fgd ec a带下划线的是 子 树根 一对括号内是一棵子树 28 波兰符号法与逆波兰符号法 续 用2元有序正则树表示算式 最高层次运算放在树根上 然后依次将运算符放在根子树的根上 数放在树叶上 规定被除数 被减数放在左子树树叶上 例如 右图表示算式 b c d a e f g h i j 29 波兰符号法与逆波兰符号法 续 波兰符号法 前缀符号法 按前序行遍法访问表示算式的2元有序正则树 其结果不加括号 规定每个运算符号与其后面紧邻两个数进行运算 例如 对上页中树的访问结果为 b cda ef gh ij逆波兰符号法 后缀符号法 按后序行遍法访问 规定每个运算符与前面紧邻两数运算 例如 对上页中树的访问结果为bcd a ef gh ij
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!