哈夫曼树的构造

    技术2022-07-11  79

    typedef struct TreeNode* HuffmanTree; struct TreeNde { int Weighy; HuffmanTree Left, Right; }; HuffmanTree Huffman(MinHeap H) { //假设H->Size个权值已经存在H->Elements[]->Weight里 int i; HuffmanTree T; BuildMinHeap(H);//将H->Elements[]按权值调整为最小堆 for (i = 1; i < H->Size; i++) { T = malloc(sizeof(struct TreeNode)); T->Left = DeleteMin(H); T->Right = DeleteMin(H); T->Weight = T->Left->Weight + T->Right->Weight; Insert(H, T); } T = DeleteMin(H); return T; }
    Processed: 0.015, SQL: 9