• 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

  • 相关阅读:
    placement new小结
    template template parameter 模板模板参数
    windows下创建和删除软链接
    gcc下载地址
    map的erase函数小结
    typedef函数指针
    宏定义条件编译中使用多条件
    关于c++模板特例化测试
    tolua使用
    c++多态
  • 原文地址:https://www.cnblogs.com/sunnylinry/p/15017619.html
Copyright © 2020-2023  润新知