资源简介
介绍了哈夫曼树编程的具体实现,对于帮助哈夫曼树的理解具有重要的参考意义。
代码片段和文件信息
#include
#include
#include
#define N 8
typedef struct
{
int weight;
int parentlchildrchild;
}HTNode*HuffmanTree;
typedef char **HuffmanCode;
void Select(HuffmanTree &HT int i int &s1 int &s2)
{
s1=0;s2=0;
int min1=30000min2=30000;
for(int k=1;k<=i;k++)
{
if(HT[k].parent==0)
{
if(HT[k].weight {
min2=min1;
min1=HT[k].weight;
s2=s1;
s1=k;
}
else if(HT[k].weight {
min2=HT[k].weight;
s2=k;
}
}
}
}
void HuffmanCoding(HuffmanTree &HTHuffmanCode &HCint *wint n)
{//HT是Huffman树,HC是Huffman编码,n为字符个数,w指向n个字符的权
int mis1s2startcf;
HuffmanTree p;
char * cd;
if (n<=1)
return;
m=2*n-1; //m为HT结点总数,n为叶子结点个数
HT=(HuffmanTree)malloc((m+1)*sizeof(HTNode));
for(p=(HT+1)i=1;i<=n;++i++p++w)
{
p->weight=*w;
p->parent=0;
p->lchild=0;
p->rchild=0;
}
for(;i<=m;++i++p)
{
- 上一篇:C++实现解方程(代码)
- 下一篇:c++ 记录键盘事件(vs2003)
相关资源
- 堆和堆排序源代码
- 自写String类即使用
- c语言开发规范.pdf
- 编程语言推荐系统(c语言源码)
- 用于解决著名的奶牛问题
- c++ 求三角形面积
- 猴子选大王
- 练习数据结构用途
- C语言实现字节流与十六进制字符串的
- C++语言的应用学习
- 語言開發
- C语言链表创建与逆序输出
- Brainfuck语言解释器
- 超声波测距 (c语言)
- c语言 打地鼠小游戏 入门级
- c语言:使用函数计算圆面积(入门级)
- c++ 统计单词个数(入门级)
- C语言邮件发送
- HMM的C语言实现(有详细注释)
- c语言 百钱买百鸡
- 笑傲江湖c语言版
- C语言JSON解析(Exjson)
- c语言:找出 100以内的素数
- c语言:循环语句输出菱形(源代码)
- 《二级C语言第51至100套题解析》.pdf(
- c语言异或实现音频的加密解密
- PMAC编程环境配置演示代码
- 二叉树基本运算
- 依据BT种子信息批量修改所文件的文件
- 数据结构与算法分析—c语言描述_课后
评论
共有 条评论