当前位置: 首页 > news >正文

中山发布最新通知seo优化方案案例

中山发布最新通知,seo优化方案案例,制作社交app软件要多少钱,dtc建站服务这里写目录标题 基本概念引子基本概念各种路径长度各种带权路径长度结点的带权路径长度树的带权路径长度哈夫曼树 哈夫曼树的构造理论基础构造思想总结 哈夫曼树的实现哈夫曼编码前缀编码哈夫曼编码的思想案例代码实现 编码与解码 基本概念 引子 哈夫曼树就是寻找构造最优二叉…

这里写目录标题

  • 基本概念
    • 引子
    • 基本概念
      • 各种路径长度
      • 各种带权路径长度
        • 结点的带权路径长度
        • 树的带权路径长度
        • 哈夫曼树
    • 哈夫曼树的构造
      • 理论基础
      • 构造思想
      • 总结
    • 哈夫曼树的实现
    • 哈夫曼编码
      • 前缀编码
      • 哈夫曼编码的思想
      • 案例
      • 代码实现
    • 编码与解码

基本概念

引子

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
哈夫曼树就是寻找构造最优二叉树,用于提高效率

基本概念

各种路径长度

在这里插入图片描述
在这里插入图片描述

各种带权路径长度

结点的带权路径长度

在这里插入图片描述
在这里插入图片描述

树的带权路径长度

在这里插入图片描述

在这里插入图片描述

哈夫曼树

在这里插入图片描述
带权路径长度最短的树或者二叉树

也就是树的叶子结点带权路径长度之和 :也就是叶子结点的结点路径长度(根结点到叶子结点的路径数) *权重 再求和
在这里插入图片描述
在这里插入图片描述
总结:位高权重
并且哈夫曼树不唯一

哈夫曼树的构造

理论基础

在这里插入图片描述
在这里插入图片描述

构造思想

在这里插入图片描述
可以看到 先将所有结点看成根结点构造出森林 并将权重赋值给结点
之后 选择两个小权重的结点 二者构造出新树 如上图 新树根结点权重为子树结点权重之和
这时要先将森林中的两个树删除 之后 将两个树构造成的新树加入森林(为了进行下一次权重的比较 从而下一步构造的顺利进行)
重复23步 直到剩单根

在这里插入图片描述
在这里插入图片描述
度 是指结点有的子树个数

哈夫曼树结点的度只能是0或者2
n个叶子结点的哈夫曼树 一共有2n-1个结点 分析如上橙色框

总结

在这里插入图片描述

哈夫曼树的实现

在这里插入图片描述
首先是已知叶子结点的个数以及权重

依次放入结构数组的前面 数组一共长度是2n 因为结点一共有2n-1 所以构造2n的数组 不用0下标

进行第二步 合并的时候 将新合并出来的结点往后依次放入 所以根结点是数组中的最后一个位置

新节点合成的时候 要修改新节点数组中的孩子结点下标 两个孩子要修改数组中双亲的下标

之后重复查找最小的权重的两个结点 前提是parent值是空 这是判断的关键 一旦parent值不为空的时候 就相当于退出了比较

在这里插入图片描述
在这里插入图片描述
初始化

在这里插入图片描述
上图中select方法 功能是在HT[K]中选择两个双亲域为0并且权重最小的结点 并返回s1 s2 用于后续操作

方法参数中i-1 是新合成结点的下标 ,在选最小的两个结点时 要从新节点前面选 这里对应理论分析中“第三步的a步骤”
i会逐渐递增

哈夫曼编码

前缀编码

在这里插入图片描述
图中为非前缀编码 所以要设计任意一个字符的编码都不是另一个字符编码的前缀
但是可以前缀一样 后面不一样

哈夫曼编码的思想

在这里插入图片描述
要想出现次数最多的编码最短 正好对应哈夫曼树的权重越大离跟结点越近的特点
在这里插入图片描述
所以在路径上标注0 或者 1
看从根结点到某一个叶子结点经过的路径 那些路径得出来的编码就是字符对应的二进制编码

因为叶子结点不会出现一个字符的路径完全包含另一个字符的路径 所以也就是前缀编码
并且要想出现次数最多的编码最短 正好对应哈夫曼树的权重越大离跟结点越近的特点 所以哈夫曼编码效率更高
在这里插入图片描述
因为叶子结点不会出现一个字符的路径完全包含另一个字符的路径 所以也就是前缀编码
并且要想出现次数最多的编码最短 正好对应哈夫曼树的权重越大离跟结点越近的特点 所以哈夫曼编码效率更高

案例

在这里插入图片描述
先根据哈夫曼树的设计思想 画出来哈夫曼树 在路径上标注0 1
在这里插入图片描述

代码实现

在这里插入图片描述
在这里插入图片描述
其中HC数组是指针数组 每个指针指向对应的字符串 也就是字符串的头指针

编码与解码

在这里插入图片描述
进行哈夫曼编码时 构造指针数组
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
先根据哈夫曼树的构造思想+字符频度表 构造出哈夫曼树 标上各个叶子结点代表的字符 之后开始解码 0就向左走 1就向右走 直到走到叶子结点 记录一个字符 重复此操作即可

http://www.zhongyajixie.com/news/1089.html

相关文章:

  • 系统集成销售和网站建设销售摘抄一小段新闻
  • html框架做网站能去百度上班意味着什么
  • html5响应式布局网站深圳最新新闻事件今天
  • 静态和动态网站的区别磁力屋torrentkitty
  • 网站建设策划解决方案网上销售培训课程
  • wordpress 微博功能宁波seo优化公司
  • 柏乡网站建设怎么打开网站
  • 微网站运营唐山seo
  • 易语言网站开发教程软文广告经典案例短的
  • 阳江房产网站关键词优化武汉
  • 一个域名访问不同的网站天津网站排名提升
  • wordpress网站导航主题qq刷赞网站推广
  • 重庆做网站开发的公司有哪些获客引流100种方法
  • 可视化网站制作软件百度一级代理商
  • 自己做的网站怎么设置文件下载营业推广的形式包括
  • 东莞的网站建设公司株洲seo推广
  • 广东疫情最新消息通知seo网络推广优化
  • 网站设计公司无锡国内做网站比较好的公司
  • 网站搜索模块沧州网站seo
  • 贵阳网站设计哪家好搜索引擎营销概念
  • 专做民宿预定的网站发帖子最好的几个网站
  • 今科网站建设推广联盟平台
  • wordpress 单独搜索页面佛山网络排名优化
  • 做设计哪个网站可以接单产品互联网营销推广
  • 聊城做wap网站价格seo公司推荐
  • 大连模板网站制作公司搜索引擎营销是什么
  • 做网站地图58精准推广点击器
  • 吉林省长春市建设局网站百度推广中心
  • 住房和城乡建设部电工证论坛seo招聘
  • 杭州网站建设V芯ee8888e优化关键词怎么做