哈夫曼树左右子树的大小有规定吗

2022-10-07 22:28 动植物百科 6830阅读 投稿:知识库
最佳答案哈夫曼树编码里面的父节点的两个子结点是没有顺序要求的,所以s1既可以是左子结点,也可以是右子结点,当然你也可以自己定一个标准来做,但是没有特别的要求的,因为就算不一样,只要在
哈夫曼树编码里面的父节点的两个子结点是没有顺序要求的,所以s1既可以是左子结点,也可以是右子结点,当然你也可以自己定一个标准来做,但是没有特别的要求的,因为就算不一样,只要在同一层,整棵树的总权值仍然是最小的。

哈夫曼树左右子树的大小有规定吗 哈夫曼左右子树如何确定

数据结构书中的建立赫夫曼树求赫夫曼编码的算法中的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;同理,最终得到的就是书上的那个图。

声明:所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系