- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章树【强烈推荐,完全免费】
第三章 树3.1 树的有关定义 给定一个图G=(V,E),如果它不含任何回路,我们就叫它是林,如果G又是连通的,即这个林只有一个连通支,就称它是树. 树的有关定义 定义3.1.1 一个不含任何回路的连通图称为树,用T表示.T中的边称为树支,度为1的节点称为树叶. 树的每条边,都不会属于任何回路.这样的边叫割边. 树的有关定义 定义3.1.2 设e是G的一条边,若G’=G-e比G的连通支树连通支数增加,则称e是G的一条割边. 显然,图G删去割边e=(u,v)之后,结点u,v分属于不同的分支. 树的有关定义 定理3.1.1 e=(u,v)是割边,当且仅当e不属于G的任何回路. 证明:若e=(u,v)属于G的某个回路,则G′=G-e中仍存在u到v的道路,故结点u和v属于同一连通支,e不是割边.反之,若e不是割边,则G′与G的连通支数一样.于是u和v仍属于同一连同支.故G′中存在道路P(u,v),P(u,v)+e就G的一个回路. 树的有关定义 定理3.1.2 设T是结点数为n=2的树,则下列性质等价: T连通且无回路 T连通且每条都是割边 T连通且有n-1条边 T有n-1条边且无回路 T的任意两结点间有唯一道路 T无回路,但在任两结点间加上一条边后恰有一个回路 树的有关定义 定理3.1.3 树T中一定存在树叶结点. 证明:由于T是连通图,所以任一结点 ,都有 .若无树叶,则 .这样 .矛盾 定义3.1.3 如果T是图G的支撑子图,而且又是一棵树,则称T是G的一棵支撑树,或称生成树,又简称G的树. 3.6 Huffman树 定义3.6.1 除树叶外,其余结点的正度最多为2的外向树称为二叉树.如果它们的正度都是2,称为完全二叉树. 如果给定了树叶数目以及它们的权值,可以构造许多不同的赋权二叉树,在这些赋权二叉树中,必定存在路径总长最小的二叉树,这样的树称为最优二叉树. Huffman树 哈夫曼给出了一个计算Huffman树算法: 对n(≥2)个权值进行排序,满足 计算 作为中间结点 的权, 的左儿子是 ,右儿子是 .在权序列中删去 和 ,加入 .若n=1,否则转(1). 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 T=(V,E’)是赋权连通图G=(V,E)的最短树,当且仅当对任意的余树边e∈E-E’,回路 ( E’+e),满足其边权 w(e) =w(a), a∈ (a ≠e). 证明:必要性.如果存在一条余树边e,满足w(e)w(a), a ∈ ,则 得到新树 比T更加短,与T是最短树矛盾 最短树 充分性. 若存在比T还短的树T’,则 ,设 则T+e构成唯一回路 .如果对任意的T’关于T的余树边 ,它与回路 里的树支边 都有 ,则有 ,与假设矛盾.因此一定存在某边 ,对于某条边 , 满足 . 最短树 定理 3.7.2 Kruskal算法的计算复杂性是O(m+p*logm),其中p是迭代次数. 最短树 3.7.2 Prim算法 Prim算法的基本思想是:首先任选一结点 v0构成集合V’,然后不断在V-V’中选一条到V’中某点(比如v)最短的边(u,v)进入树T,并且V’=V’+u,直到V’=V. 最短树 Prim算法的描述如下: Whi
文档评论(0)