最小生成树和哈夫曼树有什么区别?
最小生成树是用和最少的边集将一个图连成任意2点可达,并且这个边集的总长度最小。最短路径是一个图中2个点的最短距离。完全不是一个概念。
那也不一样啊,一点到其余各点的路径和最小,就是一点到其它点的最短路径和。差的太远了。
比如这样一个图(边权已标出)
******4
*****v--v
****5 \ / 3
*******v
****2 / \ 4
*****v v
最小生成树为
****v--v
******/
*****v
****/ \
***v v
总长为4+3+2+4=13
中间那个点到各点的最短路径为5+2+3+4=14
显然不一样啊,反例太多了,举了一种。
不是。
哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。树的路径长度是从树根到每一结点的路径长度之和,记为WPL=(W1*L1+W2*L2+W3*L3+...+Wn*Ln),N个权值Wi(i=1,2,...n)构成一棵有N个叶结点的二叉树,相应的叶结点的路径长度为Li(i=1,2,...n)。
最小生成树是计算连通图,连同各个节点的权值和最小的情况,有两种算法:prim和Kruskal。
哈夫曼树是用来进行编码压缩等,最小生成树用来设计水管、电路等连接各个结点所需的最短距离等用途。
最短路径是对于一个图的两个结点而言的.在一个图中,结点A通过某些结点和边可以走到结点B,那这些结点和边就组成一条A到B的路径,A到B的最短路径就是A到B的所有路径中边权值总和最小的那一条(或多条).
最小生成树是对于一个图本身而言的.对于一个有n个结点的无向连通图(边没有方向,任意两点之间都存在路径可以到达),必然可以去掉某些边,使得最终剩下n-1条边,并且n个结点仍然是连通的,这n个结点和n-1条边组成了原图的一个生成树,而最小生成树就是所有可能的生成树中n-1条边的权值总和最小的那一个(或多个).
最短路径常用算法有:floyd,dijkstra,SPFA,A*等
最小生成树常用算法有:prim,kruskal
哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。树的路径长度是从树根到每一结点的路径长度之和,记为WPL=(W1*L1+W2*L2+W3*L3+...+Wn*Ln),N个权值Wi(i=1,2,...n)构成一棵有N个叶结点的二叉树,相应的叶结点的路径长度为Li(i=1,2,...n)。
最小生成树是计算连通图,连同各个节点的权值和最小的情况,有两种算法:prim和Kruskal。
哈夫曼树是用来进行编码压缩等,最小生成树用来设计水管、电路等连接各个结点所需的最短距离等用途。
首先要搞清两者的定义。最小生成树是连通带权图G的权之和最小的生成树;哈夫曼树是给定N个权值作为N个叶子结点,构造一棵二叉树,使该树的带权路径长度达到最小。
最小生成树是在给定图G的基础上,进行构造。而哈夫曼树是给定权值按照一定要求构造。
因此,两者的应用也不相同。最小生成树多用于给定工程图后寻求最优解,而哈夫曼树则用于哈夫曼编码等。
什么是哈夫曼树,最小生成树?
最小生成树是计算连通图,连同各个节点的权值和最小的情况,有两种算法:prim和Kruskal。哈夫曼树是用来进行编码压缩等,最小生成树用来设计水管、电路等连接各个结点所需的最短距离等用途。
最小生成树和哈夫曼树有什么区别?
最小生成树是对于一个图本身而言的.对于一个有n个结点的无向连通图(边没有方向,任意两点之间都存在路径可以到达),必然可以去掉某些边,使得最终剩下n-1条边,并且n个结点仍然是连通的,这n个结点和n-1条边组成了原图的一个生成树,而最小生成树就是所有可能的生成树中n-1条边的权值总和最小的那...
最小生成树求出来之后怎么求树的代价呢?
回答:求最小生成(代价)树只看的是图的边的代价大小;题目常常问的是对于多个城市建设电网耗费的电线的最短长度,或者铺水管,牵网线等等;“各个节点的权乘以它的深度在相加。权就是节点上的数字”求的是哈夫曼树的带权路径长度(WPL),这个涉及到的是用这棵哈夫曼树进行编码时每个元素对应的平均码长;
求助 数据结构哈夫曼树及其几个应用题!!!
2,最小生成树是指:用最少的边把所有顶点都包含,并构成一颗树(多用二叉树)。(一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图联通的最少的边。)3,当然此题还涉及图论种的连通、可达、有向图、无向图等知识,我便不再多说。
数据结构面试题整理学生收藏
十一、如何构造哈夫曼树? 找w最小求和,再找w最小;左小右大;构造结束后,左0右1 十二、最小生成树 最小生成树是要找到最小的边可以把所有的节点都连接起来,而最短路径是 要求某个节点到其余节点的最短的路径。 最小生咸树: 在一给定的无向图G=(V,E)中,(u,v)代表连接顶点u与顶点v的边(即),而w(...
一组权值 8,2,5,3,2,17,4 求由此生成的哈夫曼树
哈弗曼树就是每回将2个最小的并1个。过程大约如下:8,2,5,3,2,17,4 2+2=4 3,4,4,5,8,17 3+4=7 4,5,7,8,17 4+5=9 7,8,9,17 7+8=15 9,15,17 9+15=24 17,24 17+24=41 这个树大概是这样的,分号是某个点的两个子节点写完了的意思,意会下:41 24 17 15 9;7...
数据结构题目求答案
5、具有65个结点的完全二叉树的高度为( B). (根的层次号为1)A.8 B.7 C.6 D.5 6、由权值分别为3,8,10,2,6的叶子结点生成一棵哈夫曼树,则其中非终端结点数为(A )。A. 2 B. 3 C. 4 D. 5 7、n个顶点的有向完全图中含有向边的数目最多为( D )A.n-1 ...
学计算机专业要学习哪些课程?
哈夫曼树的定义、性质、存贮结构及建立过程,二叉树的先序、中序和后序遍历算法, 二叉 排序树的查找、插入和生成算法,图的定义,图的邻接矩阵、邻接表和边集数组存贮 结构, 图的深度优先和广度优先遍历算法,求图的最小生成树和最短路径算法,拓扑排序 算法,数 据查找和排序的各种算法,文件的概念和组织方法等。
SJTU 《算法设计与分析》备考题
4、有一结点序列为(7,19,2,6,32,3,21,10),要求以该序列作为带权二叉树中结点的权值,构造并画出一棵哈夫曼树,并计算其带权路径长度。 5、对下面所示的无向网,要求构造出一棵最小生成树(中间过程可以省略),并计算该最小生成树的权。 6、下面所示为有向图的邻接表,试画出该有向图,并给出由顶点V1开...
数据结构概论 试题求解
13.哈夫曼树度为1的结点数等于度为2和0的结点数之差。14.两个串相等的充分必要条件是分配的存储空间一样。B 15.已知指针P指向键表L的某结点,执行语句P=P->next不会删除该链表中的结点。A 16.在链队列中,即使不设置尾指针也能进行入队操作。A 17.若图G的最小生成树不唯一,则G的边数一定...
支典加替: 这个好象没什么特别的联系吧~哈夫曼编码是属于2叉树里面的,而最小生成树是属于图论里面的,两者没有什么必然的联系,
昌都县17818048932: 请问哈夫曼树的规律?
支典加替: 最小生成树是指从某个图中生成的树中各边权值之和最小的树,而哈夫曼树不是从某个图中生成的,它不是生成树,何来最小生成树?事实上,哈夫曼树是用来解决编码问题的,使编码具有最小平均长度. 对于N个节点的问题,我就不打算回答了,因为没看懂
昌都县17818048932: 生成树的标准有哪些?各有什么异同 - ?
支典加替: 一 区别 最小生成树能够保证整个拓扑图的所有路径之和最小,但不能保证任意两点之间是最短路径. 最短路径是从一点出发,到达目的地的路径最小. 二 实现方法 1. 最小生成树 2. 最小生成树有两种算法来得到:Prims算法和Kruskal算法. 3. ...
昌都县17818048932: 什么是最小生成树??
支典加替: 最小生成树 1、 最小生成树 对于连通的带权图(连通网)G,其生成树也是带权的.生成树T各边的权值总和称为该树的权,记作: 这里: TE表示T的边集 w(u,v)表示边(u,v)的权. 权最小的生成树称为G的最小生成树(Minimum SpannirngTree...
昌都县17818048932: 数据结构导论好学么,主要学什么 - ?
支典加替: 比较好学 主要的就是一些经典的排序算法的原理,复杂度分析什么的
昌都县17818048932: 数据结构什么是最小生成树?有几种方式构造 - ?
支典加替: 普里姆算法的基本思想:取图中任意一个顶点 v 作为生成树的根,之后往生成树上添加新的顶点 w.在添加的顶点 w 和已经在生成树上的顶点v 之间必定存在一条边,并且该边的权值在所有连通顶点 v 和 w 之间的边中取值最小.之后继续往生成树上添加顶点,直至生成树上含有 n-1 个顶点为止. 克鲁斯卡尔算法 克鲁斯卡尔算法的基本思想:为使生成树上边的权值之和达到最小,则应使生成树中每一条边的权值尽可能地小. 具体做法: 先构造一个只含 n 个顶点的子图 SG,然后从权值最小的边开始,若它的添加不使SG 中产生回路,则在 SG 上加上这条边,如此重复,直至加上 n-1 条边为止.
昌都县17818048932: 哈夫曼树!!与普通二叉树的区别是???
支典加替: 首先,哈夫曼树是带权路径长度最小的二叉树,用途是平均查找信息的代价最小. 普通二叉树的用途也普通,比较通用,就是信息存储和查找. 普通二叉树可能有的只有一个子节点,而哈夫曼树一定有两个.
昌都县17818048932: 最小生成树和最短路的区别 - ?
支典加替: 不一定 比如5个点连了一圈边 5个边中有四个长度1,一个长度2 那么最小生成树是选4个长度为1的边 但是长度为2的边连接的两个点之间最短路是2,没必要绕一圈
昌都县17818048932: 简述哈夫曼树的性质.?
支典加替: 哈 夫 曼 树 2.9 二叉树的应用2.9.1 哈夫曼树及应用 哈夫曼树又称最优树(二叉树),是一类带权路径最短的树.构造这种树的算法最早是由哈夫曼(Huffman)1952年提出,这种树在信息检索中很有用.结点之间的路径长度:从一个结点到另一...
昌都县17818048932: 哈夫曼树是什么?求解 - ?
支典加替: 哈夫曼编码是哈夫曼树的一个应用.哈夫曼编码应用广泛,如JPEG中就应用了哈夫曼编码.首先介绍什么是哈夫曼树.哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树.所谓树的带权路径长度,就是树中所有的叶结点的权值乘上...