1 / 31
文档名称:

c++数据结构实验哈夫曼树.docx

格式:docx   大小:865KB   页数:31页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c++数据结构实验哈夫曼树.docx

上传人:布罗奇迹 2022/4/17 文件大小:865 KB

下载得到文件列表

c++数据结构实验哈夫曼树.docx

相关文档

文档介绍

文档介绍:c++数据结构实验哈夫曼树
北京邮电大学信息与通信工程学院
第2页
北京邮电大学电信工程学院
第1页
数据结构实验报告
1.实验要求
实验目的:
掌握二叉树基本操作的实现方法
掌握二叉树基本操作的实现方法
了解哈count[k].num << endl;
}
}
}
将初始化的数据用于建立哈夫曼树:
void Huffman::createht()
{
no = 0;
htree = new hnode[2 * n - 1];//含有n种字符的哈夫曼树需要2*n-1个结点
for (int i = 0; i<n; i++)
北京邮电大学信息与通信工程学院
第8页
北京邮电大学电信工程学院
第1页
{
while (count[no].num == 0) //该字符没有出现,跳过,继续找出现过的字符
{
no++;
}
htree[i].weight = count[no].num; //将count里统计的次数传入哈夫曼树的节点中,作为字符权重
htree[i].lchild = -1;
htree[i].rchild = -1;
htree[i].parent = -1; //将左右孩子结点和父节点都置空
htree[i].data = count[no].data; //将字符传入哈夫曼树的结点
no++;
}
int x = -1, y = -1;
for (int i = n; i < 2 * n - 1; i++)
{
SelectMin(x, y, i);
北京邮电大学信息与通信工程学院
第9页
北京邮电大学电信工程学院
第1页
//挑选三者中的权重较小的两个
htree[x].parent = htree[y].parent = i; //令较小的x、y为孩子节点,该两个结点的父节点是i
htree[i].weight = htree[x].weight + htree[y].weight;//i结点字符的权重赋为是左右孩子字符权重之和
htree[i].lchild = x; //左孩子为x
htree[i].rchild = y; //右孩子为y
htree[i].parent = -1; //父节点置空
x = -1;
y = -1;
}
}
注意select函数的编写十分重要,必须成功选出每次权值最小的两个数据才能正确的建立哈夫曼树
void Huffman::SelectMin(int &x, int &y, int k) //选出权值较小的两个字符结点
北京邮电大学信息与通信工程学院
第10页
北京邮电大学电信工程学院
第1页
{
int i = 0;
while (i < k)
{
while (i < k&&htree[i].parent == -1) //当前结点不具有父结点且满足i<k则进行循环
{
if (x == -1) //左孩子
x = i;
else if (y == -1)
y = i;
else
if (htree[x].weight <= htree[y].weight)
{
if (htree[y].weight <= htree[i].weight)
{
y = y; x = x;
}
else
北京邮电大学信息与通信工程学院
第11页
北京邮电大学电信工程学院
第1页
y = i;
}
else
if (htree[x].weight > htree[y].weight)
{
if (htree[i].weight >= htree[x].weight)
{
x = x; y = y;
}
else
x = i;
}
i++;
}
i++;
}
}
北京邮电大学信息与通信工程学院
第12页
北京邮电大学电信工程学院
第1页
B)create table建立编码表:
利用初始化得到的结果将

最近更新

2025年庆阳职业技术学院单招职业倾向性测试题.. 62页

2025年庆阳职业技术学院单招职业技能测试题库.. 63页

2025年庆阳职业技术学院单招职业适应性测试题.. 62页

2025年庆阳职业技术学院单招职业适应性测试题.. 63页

2025年献给妈妈的诗歌 6页

2025年猫狗鼠故事读后感300字左右作文(精选篇.. 9页

2025年猫口救燕作文通用篇 13页

2025年度公务员行测真题及数量关系能力含答案.. 106页

2025年度公务员行测真题及言语理解与表达能力.. 174页

2025年度公务员行测真题及言语理解与表达能力.. 177页

2025年廊坊卫生职业学院单招职业倾向性测试题.. 60页

2025年廊坊卫生职业学院单招职业技能测试题库.. 62页

2025年RJ45水晶头和网络模块制作 5页

2025年RD型车轴的加工工艺设计 67页

2025年廊坊卫生职业学院单招职业适应性测试题.. 62页

2025年猜猜我有多爱你幼儿园课件 4页

2025年廊坊燕京职业技术学院单招职业倾向性测.. 62页

2025年廊坊燕京职业技术学院单招职业技能测试.. 63页

2025年廊坊燕京职业技术学院单招职业技能测试.. 63页

2025年廊坊燕京职业技术学院单招职业适应性测.. 62页

2025年廊坊燕京职业技术学院单招职业适应性测.. 62页

2025年廊坊职业技术学院单招职业倾向性测试题.. 61页

2025年廊坊职业技术学院单招职业技能测试题库.. 62页

2025年廊坊职业技术学院单招职业技能测试题库.. 62页

2025年廊坊职业技术学院单招职业适应性测试题.. 62页

2025年牡丹江大学单招职业技能测试题库有完整.. 61页

2025年海南省海口市高考模拟(二)物理高频考点.. 5页

违纪违法典型案例对照剖析材料 5页

软件开发工程师面试题(基础知识) 5页

水彩画技法与赏析演示文稿 219页