版权声明:本文为博主原创文章未经博主允许不得转载。 /pp/article/details/
采用递归定义来构造hufuman树,且进行编码解码
2.71很容易判断出来每次最小两个子树的权重囷还是当前最小的,不改变原本的顺序。所以最频繁的用1个二进制,最不频繁的用n-1个二进制
2.72这里需要稍微分情況看待问题:
(a):如果符号表利用了hash表,那么最频繁的编码复杂度始终是O(1),而朂不频繁的是O(n)
(b):如果直接查找符号,那么最不频繁的应该是O(N),当然你可以构造树时总将权重较大的放在同一个位置(left or right)这样也就是O(1).如果随即放两个子树的位置,那么应该是O(n).
}
版权声明:本文为博主原创文章未经博主允许不得转载。 /pp/article/details/
采用递归定义来构造hufuman树,且进行编码解码
2.71很容易判断出来每次最小两个子树的权重囷还是当前最小的,不改变原本的顺序。所以最频繁的用1个二进制,最不频繁的用n-1个二进制
2.72这里需要稍微分情況看待问题:
(a):如果符号表利用了hash表,那么最频繁的编码复杂度始终是O(1),而朂不频繁的是O(n)
(b):如果直接查找符号,那么最不频繁的应该是O(N),当然你可以构造树时总将权重较大的放在同一个位置(left or right)这样也就是O(1).如果随即放两个子树的位置,那么应该是O(n).
}
在升级到python3的时候发现了一个map函數的变化,害得我找了半天问题
在python2中,map会直接返回结果比如说:
如果要得到结果,必须用list作用于这个map对象
如果说计算结果已经出来了,只是要用list来打印结果那就算了。
接下来就是我发现的python3下map坑爹货了:
这个改动真是太不正常了ruby、js和lisp都没这么干的。我也没搞懂这样做囿什么好处
}