//结点类
//属性
public class HNodeType {
double weight; //树节点的权值
int parent; //双亲节点
int lchild; //左子节点
int rchild; //右子节点
char value; //该节点表示的字符
}
//编码类
public class HCodeType {
final int MAXBIT=100; //规定编码数组的大小
int [] bit =new int[MAXBIT]; //存放编码的数组
int start; //编码开始下标
}
package com.duoduo.test1;
/**
* 哈夫曼编码
* 贪心算法:每次从树的集合中取出 没有双亲且 权值最小的两棵树作为 左右子树 构造一棵新树
* @author 多多
*
*/
import java.util.Scanner;
public class Test2_6 {
static final int MAXVALUE=10000;
public static void main(String [] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入n值:");
int n=sc.nextInt();
HNodeType [] huffNode=new HNodeType[2*n-1]; //结点数组
HCodeType [] huffCode=new HCodeType[n]; //编码数组
huffmanTree(huffNode,n); //构造哈夫曼树