关于数据结构赫夫曼树的问题求解答~~~·
2个 相等的权值会导致构造的赫夫曼树出现2种情况,但是最简单的所有任用的算法具有稳定性,即可以处理这种问题。
也就是一般人的算法构造的是出现这种情况中的最优的那棵树,所以你可以不用担心这个问题
如果你还有疑问,可以看关于稳定性的问题。如果算法具有稳定性,这样的问题就可以解决,如果没有稳定性的算法,就会出现无法构造最优的二叉树。
数据结构书中的建立赫夫曼树求赫夫曼编码的算法中的Select()函数是用于选择没有双亲且权值最小的两个结点,其序号分别为s1和s2。按照给定权值的顺序查找,s1不一定比s2要小或者相等。s1是赋给左子树,s2赋给右子树。例如:第一次选择,按照5,29,7,8,14,23,3,11的顺序,显然s1=5,s2=3;第二次选择,按照29,7,8,14,23,11,8(5是左子树,3是右子树形成的二叉树根结点权值)的顺序,显然s1=7,s2=8;第三次选择,按照29,14,23,11,8(5是左子树,3是右子树形成的),15(7是左子树,8是右子树形成的二叉树根结点权值)的顺序,显然s1=11,s2=8;同理,最终得到的就是书上的那个图。
急需,求大神解答(数据结构,c语言版)
一共有g (4个),o(6),e(1),s(2),d(2)五种字符 节点数为2*n-1,所以一共有2*5-1=9个节点带权路径由赫夫曼树可以算出 赫夫曼树的的构建方法,每次找两个最小的权值构成子树,他们的和作为一个新的权值参与构建,原来的两个责从权值集合中删除,再找两个集合中最小构成子树,...
设计一赫夫曼树为各字符设计编码。请显示传送的编码。这个数据结构的题...
for (i=n+1;i<=2*n-1;i++) \/\/构造HUFFMAN树 { m1=m2=32767; \/\/l和r为最小权重的两个节点位置 l=r=0;for(k=1;k<=i-1;k++)if(ht[k].parent==0)if(ht[k].weight<m1){m2=m1;r=l;m1=ht[k].weight;l=k;} else if(ht[k].weight<m2){ m2=ht[k].weight;r...
数据结构赫夫曼编码求解,权=5,29,7,8,14,23,3,11, 求详细的解题过程,怎 ...
由于晚上没有纸和笔,就打字说吧。首先选择最小的两个3和5,相加得8,然后现在最小的是7,8,8。所以把7和8相加得15,剩下得8和11相加得19,之前得到的15和14相加得29,19和23相加得42,之前得到的29和剩下得29相加得58,最后将得到的58和42相加得100,你根据上面说的来画树 ...
数据结构--队列,栈,线性表,树
2. 二叉树的遍历 前中后是相对于二叉树的根来说的 前序遍历:先访问根,再访问左右结点。根左右 中序遍历:把根放在第2位。先访问左结点,再访问根,再访问右结点。左根右 后序遍历:将访问根的放在最后完成。先访问左结点,再访问右结点,最后访问根。左右根 3. 树的用途 压缩软件-赫夫曼树 ...
求数据结构哈夫曼编码译码器
将权值数据存放在数据文件(文件名为data.txt,位于执行程序的当前目录中)分别采用动态和静态存储结构初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树;编码:利用建好的... 将权值数据存放在数据文件(文件名为data.txt,位于执行程序的当前目录中) 分别采用动态和静态存储结构初始化:键盘输入字符集大小n、...
数据结构 基于哈夫曼编码的通信系统的设计与实现
(1)根据得到的信息的二进制编码,利用哈夫曼树求出的每个字符的二进制编码,还原出信息的字符编码;(2)根据信息的字符编码,找到对应的信息。5、实现提示(1)本试验涉及到通讯学科的编码理论和信息学科的数据压缩技术。(2)根据参数生成的通信系统的所有信息的有效存储问题。(3)信息字符编码可参考随机数的方式生成,且...
数据结构 权值是什么意思
数据结构 权值是什么意思 527322505 | 浏览1985 次 |举报 我有更好的答案推荐于2017-12-16 17:06:26 最佳答案 赫夫曼树里的概念简单的讲就是出现的次数比如英语中字母e出现的比较多,相应权值也就较大了而v出现较少,权值就小了~ 举报| 答案纠错 | 评论 15 2 59蚊子 采纳率:33% 擅长: 暂未定制 ...
哈夫曼编\/译码器问题:C语言版的数据结构,我急啊!那位朋友帮帮忙,结果必 ...
n=Read_tree(HT);\/\/从文件hfmtree.txt中读入赫夫曼树,返回叶子结点数Convert_tree(T,0,&m,2*n-1); \/\/将内存中的赫夫曼树转换成凹凸表形式的树,存于数组T中if((fp=fopen("treeprint.txt","wb+"))==NULL) printf("Open file treeprint.txt error!\\n"); printf("\\n以凹凸表形式打印已建好的赫...
急求:数据结构课程设计_赫夫曼编\\译码系统
你好,这个以前帮别人写过,相关的设计,流程图,算法说明和全部代码已经发给你了。刚才给你发Mail的那个信箱就是我的,如果满意请加分哦:)
1.假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为...
要建立赫夫曼树,然后在遍例(先树),如果不懂请回去看数据结构吧,叶子节点就是你要编码的字母。原始人发展出的图示和表意符号是如今现代字母的原型,比如楔形文字和象形文字。最早的字母,是东闪米特人(现代分类称之为闪米特北支)使用的一种早期的象形文字的组合,大约出现在公元前1700至1500年间。公...
漕天安达: 哈夫曼树为: 15 / \ 6 9 / \ / \ 3 【3】【4】 【5】 / \ 【1】 【2】 树的带权路径长度为树中所有叶子结点的带权路径长度之和,而结点的带权路径长度为结点到根节点之间的路径长度与该节点上权的乘积.WPL=3*(1+2)+2*3+2*(4+5)=33
紫阳县18341241780: 哈夫曼树问题 - ?
漕天安达:[答案] 给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree).
紫阳县18341241780: 数据结构题目问:给定N个权值,则构造的哈夫曼树中的结点总数为多少个,并附上相关的知识点, - ?
漕天安达:[答案] 算上N个叶子的话一共2N-1个.参见定理:0度结点(即叶子)数比2度结点数多1.另外Huffman树中没有1度结点.
紫阳县18341241780: 求解赫夫曼树的问题 - ?
漕天安达: ①首先把 n 个叶子结点看做 n 棵树(仅有一个结点的二叉树),把它们看做一个森林.②在森林中把权值最小和次小的两棵树合并成一棵树,该树根结点的权值是两棵子树权值之和.这时森林中还有 n-1 棵树.③重复第②步直到森林中只有一棵为止.很高兴为您解答,祝你学习进步!如果您认可我的回答,请点击下面的【选为满意回答】按钮!有不明白的可以追问!
紫阳县18341241780: 数据结构中的一道题若一棵哈夫曼树共有9个顶点,则其叶子结点的个数为__(7)__.(7)A.4 B.5 C.6 D.7 - ?
漕天安达:[答案] 哈夫曼树是没有度数为1的分支结点的二叉树. 哈夫曼树一般情况下共有2n-1个结点 2n-1=9 n=5 选B
紫阳县18341241780: 数据结构中哈夫曼树的问题用5个权值{3,2,4,5,1}构造的哈夫曼树的带权路径长度是? - ?
漕天安达:[答案] 哈夫曼树为: 15 / \ 6 9 / \ / \ 3 【3】【4】 【5】 / \ 【1】 【2】 树的带权路径长度为树中所有叶子结点的带权路径长度之和,而结点的带权路径长度为结点到根节点之间的路径长度与该节点上权的乘积. WPL=3*(1+2)+2*3+2*(4+5)=33
紫阳县18341241780: 数据结构,哈夫曼树问题,求具体解释 - ?
漕天安达: 先画哈夫曼树再计算 26 / \14 9/ \ 7 7 / \2 5 所以树的带权路长度为(2+5)*3+7*2+9=44
紫阳县18341241780: 有关构造哈夫曼树的问题 - ?
漕天安达: 1. 根据给定的n个权值{w1,w2,…wn}构成n棵二叉树的集合F={T1,T2,..,Tn},其中每棵二叉树Ti中只有一个带权wi的根结点,左右子树均空. 2. 在F中选择两棵根结点权值最小的树作为左右子树构造一棵新的二叉树,且置新的二叉树的根结点的权值...
紫阳县18341241780: 赫夫曼树是否唯一 - ?
漕天安达: 不唯一,因为没有限定左右子树,并且有权值重复时,可能树的高度都不唯一,唯一的只是带权路径长度之和最小. 给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为...
紫阳县18341241780: 数据结构赫夫曼树的左右子树问题. - ?
漕天安达: 霍夫曼编码里面的父节点的两个子结点是没有顺序要求的 所以s1既可以是左子结点,也可以是右子结点 当然你也可以自己定一个标准来做,但是没有特别的要求的,因为就算不一样,只要在同一层,整棵树的总权值仍然是最小的