原文:赫夫曼树及其应用

美国数学家赫夫曼 David Huffman 年发明了一种压缩编码方法,并得到广泛应用。为了纪念他的成就,人们把他在编码中用到的特殊的二叉树叫做赫夫曼树,他的编码方法叫做赫夫曼编码。 下面一段程序用来给学生考试成绩划分等级: 这段程序的判断过程如图: 图T 不过这样的判断算法效率可能有问题,因为对于一般的考卷,学生成绩在 个等级上的分布规律如下表: 分数 所占比例 仔细观察,中等成绩 比例最高,其 ...

2012-11-06 06:57 0 3493 推荐指数:

查看详情

【1】基本概念 别名“最优”,是一种带权路径最短的。 (1)路径:从中一个结点到另一个结点之间的分支构成这两个结点之间的路径。 (2)路径长度:路径上的分支数目。 (3)的路径长度:从树根到一每结点的路径长度之和。 (4)结点的带权路径长度:从该结点到树根之间 ...

Mon Dec 02 22:29:00 CST 2013 0 5513
编码

在一般的数据结构的书中,的那章后面,著者一般都会介绍一下哈(HUFFMAN) 和哈编码。哈编码是哈的一个应用。哈编码应用广泛,如 JPEG中就应用了哈编码。 首先介绍什么是哈。哈又称最优二叉树, 是一种带权路径长度最短的二叉树。所谓的带权路径长度 ...

Thu Sep 08 04:54:00 CST 2016 0 3775
JAVA实现及分析

一,介绍 1)构造的算法是一个贪心算法,贪心的地方在于:总是选取当前频率(权值)最低的两个结点来进行合并,构造新结点。 2)使用最小堆来选取频率最小的节点,有助于提高算法效率,因为要选频率最低的,要么用排序,要么用堆。用堆的话,出堆的复杂度为O(logN),而向堆中插入一个元素的平均 ...

Mon May 16 04:38:00 CST 2016 2 1504
和赫夫曼编码

什么是哈 当用 n 个结点(都做叶子结点且都有各自的权值)试图构建一棵时,如果构建的这棵的带权路径长度最小,称这棵为“最优二叉树”,有时也叫“”或者“哈”。在构建哈弗时,要使的带权路径长度最小,只需要遵循一个原则,那就是:权重越大的结点离树根越近。在图 1 中 ...

Sat May 11 07:02:00 CST 2019 0 946
应用

编码: 1.统计需要编码的文件中每个字符出现的次数,并排序 2.选取出现次数最少的两个字符,把两者次数之和放入序列中; 3.重复操作 2 直到完成; 4.左子树权为0 右子树权为1; 举例: ...

Sun Feb 04 01:45:00 CST 2018 0 1478
数据结构40:哈、最优

,别名“哈”、“最优”以及“最优二叉树”。学习哈之前,首先要了解几个名词。 哈相关的几个名词 路径:在一棵中,一个结点到另一个结点之间的通路,称为路径。图 1 中,从根结点到结点 a 之间的通路就是一条路径。 路径长度:在一条路径中,每经过一个结点 ...

Wed May 16 22:34:00 CST 2018 2 11252
数据结构与算法——(哈

基本介绍 (Huffman tree): 给定 n 个 权值 作为 n 个 叶子节点,构造一颗二叉树,若该的 带权路径长度(WPL)达到最小,称这样的二叉树为 最优二叉树,也称为 哈(Huffman Tree),还有的叫 霍夫曼 是带权路径长度最短的,权值 ...

Mon Sep 13 06:11:00 CST 2021 0 536
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM