#include<stdio.h>
#include<stdlib.h>
#include<string.h>
const int maxn = 1e5 + 5;
struct node
{
int w, pre, l, r;
};
struct tree
{
int m, root;
struct node *ht;
};
void print_ans(struct tree *p, int n)
{
printf("序号 权值 父母 左 右\n");
for(int i=0;i<2*n-1;i++)
{
printf("%d\t%d\t%d\t%d\t%d\n", i, p->ht[i].w, p->ht[i].pre, p->ht[i].l, p->ht[i].r);
}
}
struct tree *huffman(int n, int *q)
{
int i, j;
int m1, m2, x1, x2;
struct tree *new_node;
new_node = malloc(sizeof(*new_node));
new_node->ht = malloc(sizeof(struct node * [2 *n -1]));
for(i = 0; i<2*n-1; i++)
{
new_node->ht[i].l = new_node->ht[i].r = new_node->ht[i].pre = -1;
if(i < n)
{
new_node->ht[i].w = q[i];
}
else new_node->ht[i].w = -1;
}
printf("初始的状态:\n");
哈夫曼树——离散数学实训
最新推荐文章于 2023-08-11 13:36:52 发布