2021.07.15牛客刷题

牛客碰到的问题

  1. 用户可以重新定义库函数,如果定义了,此库函数失去意义。
  2. 宏定义是宏替换!!!!!不要忘记啦,经常要想一下!!

哈夫曼编码

就是按照二叉树构建的一个编码树。

根据权重构建最优二叉树

:哈弗曼编码是一种无损二进制熵编码算法,其加权路径长度最小,字符串“alibaba”的二进制哈弗曼编码有___位(bit)

哈弗曼树又叫做最优二叉树,是权值越大的点离根节点越近,导致整个树权值最小

方法:选择值最小的两个点作为左右节点,然后和作为父节点,在剩下的点以及父节点中选择最小的两个依次构造,形成哈弗曼树

左边数值是0,右边是1

哈弗曼编码是将各个点的值加起来最小

长度计算就是把各个点的值乘以路径长加起来

例a(3),b(2),l(1),i(1)

img

长度就是3(l+i)+2b+1a;把abli换成他们对应的3 2 1 1就是13

posted @ 2021-07-15 21:30  爱吃鱼的小女孩  阅读(41)  评论(0编辑  收藏  举报