假设用于通信的电文由 5 个字母组成,字母在电文中出现的频率分别为 2,4,5,7,8 根为第一层,用这 5 个字母设计哈弗曼树带权路径长度为()
构成赫夫曼树的步骤:
1)从小到大进行排序, 将每一个数据,每个数据都是一个节点 , 每个节点可以看成是一颗最简单的二叉树
2)取出根节点权值最小的两颗二叉树
3)组成一颗新的二叉树, 该新的二叉树的根节点的权值是前面两颗二叉树根节点权值的和
4)再将这颗新的二叉树,以根节点的权值大小 再次排序, 不断重复 1-2-3-4 的步骤,直到数列中,所有的数据都被处理,就得到一颗赫夫曼树
不知道画得对不对。
拿出最小的2和4,组合一颗新的二叉树,根节点为6。
重新排序,得5,6,7,8。
拿出最小的5和6,组合一颗新的二叉树,根节点为11。
重新排序,得7,8,11。
拿出最小的7和8,组合一颗新的二叉树,根节点为15。
重新排序,得11,15。
组合11,15,根节点为26。
2*3+4*3+(5+7+8)*2 = 58