注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
long1的个人空间 https://home.eeworld.com.cn/space-uid-750605.html [收藏] [复制] [分享] [RSS]
日志

哈夫曼

已有 348 次阅读2017-4-13 13:58 |个人分类:<data/>

1.哈夫曼树(实现基本的编码解码)
  • 简单定义:
    给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。

    复杂的文字定义我觉得以后肯定不会看。。所以直接来一张哈夫曼树的构造过程简单明了。。

1.模型构造 // 节点类 public static class Node implements Comparable<Node> { String data; double weight; Node leftChild; Node rightChild; Node parent; public boolean isLeftChild() { return parent != null && this == parent.leftChild; } public Node() { } public Node(String data, double weight) { this.data = data; this.weight = weight; } @Override public String toString() { return "Node [data=" + data + ", weight=" + weight + "]"; } //队列排序依据 public int compareTo(Node o) { return (int) (weight - o.weight); } public boolean isLeaf() { return data.length() == 1; } }
全部作者的其他最新日志
评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章