题目来源:北航14级6系数据结构作业
【问题描述】
已知输入一串正整数,正整数之间用空格键分开,请建立一个哈夫曼树,以输入的数字为叶节点,求这棵哈夫曼树的带权路径长度。
【输入形式】
首先输入正整数的个数,然后接下来为接下来的正整数,正整数个数不超过10个
【输出形式】
输出相应的权值
【样例输入】
5 4 5 6 7 8
【样例输出】
69
求哈夫曼树的算法用的是递归,然而并不会写非递归的,还要花时间研究一下,这次没有看清楚输入的要求,走了,不少的弯路,下次看题目一定要认真啊
#include <stdio.h>
#include <stdlib.h>
#define MAXNUM 20
typedef struct BTNode {
int data;
struct BTNode *lchild, *rchild;
}BTNode, *BTree;
typedef struct Node {
BTree bt;
struct Node *link;
} Node, *F