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

呼和浩特网站建设信息甘肃seo技术

呼和浩特网站建设信息,甘肃seo技术,东莞网站推广电话,福州百度企业网站seo文章目录 前言一、实现思路二、准备Huffman结点三、主要实现 前言 在使用http1.1协议传输数据的时候,会有一些固定的字段,比如cookie、编码方式、接收的数据类型,另外会有一些大量重复的字段造成请求报文过于冗长,为了解决这个问…

文章目录

  • 前言
  • 一、实现思路
  • 二、准备Huffman结点
  • 三、主要实现


前言

在使用http1.1协议传输数据的时候,会有一些固定的字段,比如cookie、编码方式、接收的数据类型,另外会有一些大量重复的字段造成请求报文过于冗长,为了解决这个问题,在http2.0的时候,采用了二进制对请求报文进行编码,同时客户端和服务端维护一张静态表和静态表,对我们的请求报文进行二进制编码,同时采用Huffman编码进行压缩。

Huffman编码是一种编码方式,对出现频次更高的字段采取更短的编码,Huffman编码要求每个字符的编码不能是其他字符编码的前缀,这篇文章就是准备记录一下用Java实现Huffman编码。

一、实现思路

将出现的字符和字符出现的频次一一映射,将所有字符放进优先队列,优先队列的堆顶存放的是频次最小的字符,弹出频次最小的的两个字符,申请一个新的根节点,新的根节点左子结点是最小频次的字符,右子结点是第二小频次的字符,频次为左子节点和右子结点频次的和,将新结点加入优先队列重复上述过程
在这里插入图片描述

二、准备Huffman结点

public class Node {//编码字符private char data;//频次private int freq;//左子节点private Node left;//右子节点private Node right;
}

三、主要实现

public static void main(String[] args) {char[] charArray = { 'a', 'b', 'c', 'd', 'e', 'f' };int[] charFreq = { 45, 13, 12, 16, 9, 5 };PriorityQueue<Node> priorityQueue = new PriorityQueue<>(6, new Comparator<Node>() {@Overridepublic int compare(Node o1, Node o2) {return o1.getFreq() - o2.getFreq();}});for (int i = 0; i < 6; i++) {Node node = new Node();node.setData(charArray[i]);node.setFreq(charFreq[i]);priorityQueue.add(node);}Node root = null;while (priorityQueue.size() > 1) {Node newNode = new Node();Node left = priorityQueue.peek();newNode.setLeft(left);priorityQueue.poll();Node right = priorityQueue.peek();newNode.setRight(right);priorityQueue.poll();newNode.setFreq(left.getFreq() + right.getFreq());root = newNode;priorityQueue.add(newNode);}printCode(root, "");}public static void printCode(Node root, String code) {if (root.getLeft() == null && root.getRight() == null && Character.isLetter(root.getData())) {System.out.println(root.getData() + ": " + code);return;}printCode(root.getLeft(), code + "0");printCode(root.getRight(), code + "1");}//运行结果//a: 0//c: 100//b: 101//f: 1100//e: 1101//d: 111

http://www.tj-hxxt.cn/news/89165.html

相关文章:

  • 工行网站如何做理财风险评估seo优化技术教程
  • 三只松鼠建设网站前的市场分析竞价账户托管公司
  • 小型网站用typescript广州新闻最新消息今天
  • 廊坊网站建设价格软件外包网站
  • 曲靖网站建设公司app推广联盟平台
  • 阜宁建设网站的公司搜索引擎的两个基本方法
  • import wordpress如何网站优化排名
  • 做的网站没给我备案seo新手入门教程
  • 商城建设网站培训心得
  • wordpress 添加分享网络优化是干什么的
  • 沈阳做网站建设360网站seo手机优化软件
  • 画册排版设计网站百度网盘提取码入口
  • 做网站公司哪家便宜站长素材
  • vps网站目录权限设置怎么制作个人网站
  • wordpress 积分动力安徽搜索引擎优化seo
  • 机电工程东莞网站建设技术支持信息推广
  • 成都网站设计公司哪家好广告营销策略有哪些
  • 政府网站机房建设要求网盟推广
  • 怎样添加网站上百度商桥代码网站平台有哪些
  • 网站设计网址软文推广平台排名
  • wordpress导入文章武汉seo外包平台
  • 湖南网站建设哪家专业搜索引擎营销与seo优化
  • 网站预订系统建设深圳seo专家
  • 企业网站对网络营销的意义百度指数关键词未收录怎么办
  • 科技有限公司可以做网站建设吗新网站怎么做优化
  • 吉林省疫情最新情况aso关键词排名优化是什么
  • 做封面的网站网站制作平台
  • 网站建设用到的软件东莞优化疫情防控措施
  • 网站代下单怎么做seo网络推广公司排名
  • 做网站的一般要多少钱石家庄seo关键词排名