- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
树31树的有关定义-Basic
第三章 树3.1 树的有关定义 给定一个图 ,如果它不含任何回路,我们就叫它是林,如果 又是连通的,即这个林只有一个连通支,就称它是树。 树的有关定义 定义3.1.1 一个不含任何回路的连通图称为树,用 表示。 中的边称为树支,度为1的节点称为树叶。 树的每条边,都不会属于任何回路。这样的边叫割边。 树的有关定义 定义3.1.2 设 是 的一条边,若 比 的连通支树连通支数增加,则称 是 的一条割边。 显然,图 删去割边 之后,结点 分属于不同的分支。 树的有关定义 定理3.1.1 是割边,当且仅当 不属于 的任何回路。 证明:若 属于 的某个回路,则 中仍存在 到 的道路,故结点 和 属于同一连通支, 不是割边。反之,若 不是割边,则 与 的连通支数一样。于是 和 仍属于同一连同支,故 中存在道路 就是 的一个回路。 树的有关定义 定理3.1.2 设 是结点数为 的树,则下列性质等价: 连通且无回路 连通且每条都是割边 连通且有 条边 有 条边且无回路 的任意两结点间有唯一道路 无回路,但在任两结点间加上一条边后恰有一个回路 树的有关定义 定理3.1.3 树 中一定存在树叶结点。 证明:由于 是连通图,所以任一结点 ,都有 。若无树叶,则 。 这样 矛盾。 定义3.1.3 如果 是图 的支撑子图,而且又是一棵树,则称 是 的一棵支撑树,或称生成树,又简称 的树。 3.6 Huffman树 定义3.6.1 除树叶外,其余结点的正度最多为2的外向树称为二叉树。如果它们的正度都是2,称为完全二叉树。 Huffman树 定义3.6.1 如果二叉树T的每个树叶结点vi都分别赋以一个正实数wi,则称T是赋权二叉树。从根v0到树叶vi的路径P(v0,vi)所包含的边数计为该路径的长度li,这样二叉树的路径总长是 vi是树叶 如果给定了树叶数目以及它们的权值,可以构造许多不同的赋权二叉树,在这些赋权二叉树中,必定存在路径总长WPL最小的二叉树,这样的树称为最优二叉树。 Huffman树 例3.6.1 已知英文字符串adacatedecade。试用二进制字符串代替某个字幕,并保证该英文字符串与二进制串构成一一对应。 解:该字符串中有字母a,d,e,c,t,它们分别出现4,3,3,2,1次。令每个字母对应二叉树的一个树叶,根到树叶的路径是唯一的,而且这条路径决不会是根到另一个树叶路径的一部分。这样跟到树叶的路径与该字母构成一一对应。如果在树T中令向左的边为0,向右的边为1,那么这些路径又与二进制串构成了一一对应。 Huffman树 哈夫曼给出了一个计算Huffman树算法: 对 个权值进行排序,满足 计算 作为中间结点 的权, 的左儿子是 ,右儿子是 。在权序列中删去 和 ,加入 。若 ,否则转(1)。 Huffman树 Huffman树算法的计算复杂度是O(n log n)。 Huffman树 定理3.6.1 由Huffman算法得到的二叉树是最优二叉树 3.7 最短树 3.7.1 Kruskal算法 Kruskal算法的描述如下: T←Φ, 当|T| n – 1且E≠Φ时, begin e←E中最短边. E←E-e. 若T+e无回路,则T←T+e. end 若|T|n-1打印”非连通”,否则输出最短树 最短树 定理 3.7.1 是赋权连通图 的最短树,当且仅当对任
文档评论(0)