PTA Huffman树及其应用题
单选题
1. 对N(N≥2)个权值均不相同的字符构造哈夫曼树。下列关于该哈夫曼树的叙述中,错误的是:
A 树中一定没有度为1的结点.
B.树中两个权值最小的结点一定是兄弟结点
C.树中任一非叶结点的权值一定不小于下一层任一结点的权值
D.该树一定是一棵完全二叉树
解析:Huffman树是带权路径最小的扩充二叉树,不一定是完全二叉树
2.设一段文本中包含字符{a, b, c, d, e},其出现频率相应为{3, 2, 5, 1, 1}。则经过哈夫曼编码后,文本所占字节数为:
A.40
B.36
C.25
D.12
3.设一段文本中包含4个对象{a,b,c,d},其出现次数相应为{4,2,5,1},则该段文本的哈夫曼编码比采用等长方式的编码节省了多少位数?
A.0
B.2
C.4
D.5
4.由分别带权为9、2、5、7的四个叶子结点构成一棵哈夫曼树,该树的带权路径长度为:
A.23
B.37
C.44
D.46
5.已知字符集{ a, b, c, d, e, f, g, h }。若各字符的哈夫曼编码依次是 0100, 10, 0000, 0101, 001, 011, 11, 0001,则编码序列 0100011001001011110101 的译码结果是:
A.acgabfh
B.adbagbb
C.afbeagd
D.afeefgd
6.对 n 个互不相同的符号进行哈夫曼编码。若生成的哈夫曼树共有 115 个结点,则 n 的值是:
A.56
B.57
C.58
D.60
7.若某二叉树有 5 个叶结点,其权值分别为 10、12、16、21、30,则其最小的带权路径长度(WPL)是:
A.89
B.200
C.208
D.289
PTA Huffman树及其应用题相关推荐
- huffman树和huffman编码
不知道为什么,我写的代码都是又臭又长. 直接上代码: #include <iostream> #include <cstdarg> using namespace std; c ...
- 数据结构源码笔记(C语言):Huffman树字符编码
#include <stdio.h> #include<string.h> #define N 10 /*待编码字符的个数,即树中叶结点的最大个数*/ #define M 2* ...
- 数据结构实验三:Huffman树及Huffman编码的算法实现
Exp03 Huffman树及Huffman编码的算法实现 Author: Maskros 实验目的 了解该树的应用实例,熟悉掌握Huffman树的构造方法及Huffman编码的应用, 了解Huffm ...
- 数据结构-Huffman树
Huffman树的编码和解码 思想:1.统计字符串每个字母出现的个数2.依次取出两个最小的字母进行合并(分别作为左右子节点,另左子节点<右子节点的值),使用他们值之和作为根节点的值,并将根节点加 ...
- 深夜爆肝:万字长文3种语言实现Huffman树(强烈建议三连)
文章目录 一.C语言能干大事 1. C语言下Huffman树的计算过程分析 2. C语言下Huffman树的编程 二.C#语言也不赖 1. C#下Huffman类的设计 2. C#中界面设计 3. 建 ...
- Huffman编码(Huffman树)
[0]README 0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 "Huffman编码(Huffman树)" 的idea 并用源代码加以实现: 0.2) ...
- Huffman树进行编码和译码
//编码 #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> ...
- huffman树_笃学不倦|c语言构造哈夫曼树哈夫曼编码
艾薇巴蒂!许久不见甚是想念,想必这"涨姿势"的时刻大家已经期待许久了!今天我们要共同学习的是c语言构造哈夫曼树-哈夫曼编码 构造哈夫曼树 首先,我们需要了解哈夫曼树是什么: 相关知 ...
- Huffman树压缩和解压文件
Huffman树 Huffman树:以静态三叉链的存储结构建立的二叉树 Huffman树是一个带权路径长度最小的二叉树,又称最优二叉树 Huffman树的构造方法 ①将每个结点都看作是一个树: ②选择 ...
- python构建huffman树_python:哈夫曼树,PythonHuffuman
Python:Huffuman树 题目 问题描述 Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给出一列数{pi}={p0, p1, -, pn-1},用这列 ...
最新文章
- C# Null 赋值
- 【Python】spyder编译器调试时添点断点的方法
- 项目由于装运点不同交货拆分解决方案
- oracle12154错误 Linux,关于“EXP-00056: ORACLE error 12154 encountered”的解决方法
- UNIX操作-命令快捷键
- dcase_util教程(二)——各单元介绍
- 显微镜自动聚焦原理是什么_什么是共聚焦显微镜?你了解过共聚焦显微镜吗?...
- 设计模式——抽象工厂
- C++ - C++ signal的使用
- 用Java实现非阻塞通信
- MyApps接口引擎,打破跨系统间的壁垒
- Android List的混排 随机排序
- 发光二极管pcb封装图画法_【干货】LED封装形式分类解析
- 华为模拟器eNSP免费下载
- bilibili执行董事陈睿:我在进B站之前是一个正常人
- 帝国cms灵动标签调用标题图片没有图片时让其显示默认图片的方法
- 神经网络的权重初始化,神经网络的权值和阈值
- 文件的后缀名怎样重命名,重命名为大写字母
- SD-WAN基本介绍
- [转]普通软件项目开发过程规范(五)—— 总结