数据结构-树-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
);
转载请注明原文地址: https://www.6miu.com/read-5038959.html