哈弗曼树实现
来源:互联网 发布:whatsapp for mac下载 编辑:程序博客网 时间:2024/06/03 07:37
/*my_huffman*/
/*CCoder.Net*/
#include<stdio.h>
#include<malloc.h>
#define N 8
typedef struct node{
int item;
struct node* l;
struct node* r;
}* link;
link *h;
int Nq = N;
link NODE(int item, link l, link r)
{
link t = malloc(sizeof *t);
t->l = l;
t->r = r;
t->item = item;
return t;
}
void shif_up(int i)
{
int j;
while(i > 1)
{
j = i/2;
if()
}
}
void insert(link t)
{
h[++Nq] = t;
shif_up(Nq);
}
link delmin()
{
swap(1, Nq--);
shif_down(1,Nq);
return h[Nq+1];
}
link creat_heap(int freq, int len)
{
int i;
for(i = 0; i < len; i++)
h[i] = NODE(freq[i], NULL, NULL);
for(i = N/2; i >= 0; i--)
shif_down(i, N);}
void huffman(int freq[], int len)
{
h = malloc(len * sizeof(link));
creat_heap(h, freq, len);
while(Nq > 1)
{
link t1 = delmin();
link t2 = delmin();
insert(NODE(t1->item + t2->item, t1, t2));
}
}
int main(void)
{
int freq[N] = {5, 29, 7, 8, 14, 23, 3, 11};
huffman(freq, N);
return 0;
}
http://www.ccoder.net/C-yuyantigao/shujujiegou-suanfa/54.html
- 哈弗曼树实现
- 哈弗曼树的实现
- 哈弗曼树的java实现
- 哈弗曼树的实现
- 哈弗曼树的实现
- 实现
- 实现
- python实现哈弗曼树进行数据压缩
- 哈弗曼树讲解---c语言实现
- 数据结构学习之哈弗曼树的实现
- POJ 3253 优先队列实现哈弗曼树
- PAT Huffman Codes 哈弗曼树,C语言实现
- 红黑树实现 实现代码
- java实现排列组合实现
- 实现Runnable 实现线程
- 实现ViewPager多种实现
- 双向LSTM实现实现
- 实现缓存 java实现
- 堆和栈的区别
- ASP.NET中的状态
- 女程序员,作程序员还是作女人?
- 解决Discuz7在Chrome中无法显示弹出窗口内容的问题
- install fcitx input method on ubuntu
- 哈弗曼树实现
- 一条ikujt也
- 汉字编码过滤器
- 网页制作小技巧:dl dt dd标签用法
- .net的反射机制
- sicily 1321 dijkstra
- Qt下写串口error: resource temporarily unavailable的缘由
- [转]关于float,double等表示的数值范围的计算
- 女儿写给爸爸的祝福