赫夫曼算法伪代码

S1:class Node
S2: Node left
S3: Node right
S4: int value
S5: END
S6:while(arr[2] = null)//只要合并两个数,就在另外一个数置空,当arr[2]为null是就是数组中只有一个元素的时候
S7:Node left = new Node(arr[0])
S8:Node right = new Node(arr[1])
S9:Node parent = new Node(arr[0]+arr[1]) 将最小元素相加
S10:parent.left = left
S11:parent.right =right
S12: for(i = 0 to arr.length-1)//n个元素只需要合并n-1
S13: arr[0] <-arr[0]+arr[1]//将合并的元素保存arr[0]
S14: arr[1] <- null//将另外一个元素置为null
S15: sort(arr)

猜你喜欢

转载自blog.csdn.net/weixin_44822939/article/details/106344786