数据结构-树-C语言-HaffmanTree
typedef struct TreeNode *pHaffmanTree
struct TreeNode{
int weight;
pHaffmanTree left,right;
}
pHaffmanTree createHaffmanTree(MinHeap heap){
int i;
pHaffmanTree temp;
buildMinHeap(heap);
for(int i =1;i<=heap->size-1;i++){
temp = (pHaffmanTree)malloc(sizeof(TreeNode));
temp->left = deleteMinHeap(heap);
temp->right = deleteMinHeap(heap);
temp->weight = temp->left->weight+temp->right->weight;
insert(heap,temp)
}
temp = deleteMinHeap(heap);
return temp;
}
void buildMinHeap(MinHeap heap);
TreeNode deleteMinHeap(MinHeap heap);
bool insert(MinHeap heap,TreeNode treeNode);