哈夫曼
哈夫曼树的基本概念
权(weight)又称权重:将树中结点赋给一个有着某种含义的数值,(具体的意义根据树使用的场合确定)则这个数值称为该结点的权。比如之前提到的判断树中5%表示对应分数段人在总人数中的比例
结点的带权路径长度:从根结点到该结点之间的路径长度与结点上权的乘积
哈夫曼树
总结
在构造哈夫曼树之前先要了解他的存储结构(哈夫曼树=二叉树)有顺序存储和链式存储
ps:数组名本质上是首元素地址,所以这样既可以理解为定义了一个指针也可以理解为定义了一个数组
之所以用结构体数组是因为存储的值比较多
1.构造森林全是根(既没有双亲也没有孩子)初始化
2.循环1-->n存叶子结点从n+1-->2n-1(总个数)
for(i=n+1;i<=2n-1;i++){
//选权值小的二个造新树
//删除二小添新人
怎么删除一棵树(让他不再是根而是别人的子树)
给他们的
给3号和6号的parent赋值9号(构造出的根结点)并修改9号的左右孩子
//重复2、3
在parent=0的树(其实parent不为0是对应根结点的子树)中再选2小造新树
关键是什么时候结束
森林只有一棵树==>一个根结束
}