赫夫曼树的建立任务 :建立建立最优二叉树函数 要求:可以建立函数输入二叉树,并输出其赫夫曼树

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/09 03:09:48

赫夫曼树的建立任务 :建立建立最优二叉树函数 要求:可以建立函数输入二叉树,并输出其赫夫曼树
赫夫曼树的建立
任务 :建立建立最优二叉树函数
要求:可以建立函数输入二叉树,并输出其赫夫曼树

赫夫曼树的建立任务 :建立建立最优二叉树函数 要求:可以建立函数输入二叉树,并输出其赫夫曼树
给你一个全功能的代码,关于,hufman tree的,你要哪一段就自己节选:
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "stdlib.h"
#define N 20/*叶子最大结点数*/
typedef struct
{
int weight;/*假设叶子权值为整型*/
int lchild,rchild,parent;/*左孩子,右孩子,父结点*/
}Htnode;/*哈夫曼树结点类型*/
typedef struct
{
char *code;/*编码*/
int length;/*编码的长度*/
}CodeType;/*叶编码类型 */
/*功能:求节点中两个最小的数*/
/*传入参数:树huftree[],节点个数n,数*s1,*s2*/
void Selectsort(Htnode huftree[],int n,int *s1,int *s2)
{
int i,min1,min2;/*两个最小数*/
min1 = huftree[0].weight;
*s1 = 0;
for(i = 1; i