哈夫曼树的建立与操作(2)

2019-09-01 18:25

void createHFMcode(HFMnode *node, HFMcode *hcode, int n) { }

int i;

for (i = 1; i <= n; i++) { }

HFMcode d;

//哈夫曼树最大层数就是元素的个数 d.start = n; int num = i;

int father = node[num].parent; while (father != 0) { }

hcode[i] = d;

if (node[father].lchild == num) else

d.code[d.start--] = '1'; d.code[d.start--] = '0';

num = father;

father = node[num].parent;

//打印每个节点的编码

void printHFMcode(HFMnode * node, HFMcode * hcode, int n) { }

int _tmain(int argc, _TCHAR* argv[]) {

HFMnode node[2 * MAX]; HFMcode hcd[MAX];

cout << \请输入案例个数:\ << endl; int cases; cin >> cases; while (cases--) { int i;

for (i = 1; i <= n; i++) { }

cout << node[i].data << \:\;

for (int k = hcode[i].start + 1; k <= n; k++)

cout << hcode[i].code[k];

cout << endl;

cout << \请输入元素个数:\ << endl; int n; cin >> n; int i;

for (i = 1; i <= n; i++) { }

for (i = 1; i <= 2 * n - 1; i++) { }

//建立哈夫曼树

createHFMtree(node, n); //求每个节点的哈夫曼编码 createHFMcode(node, hcd, n); //打印每个节点的编码

cout << \输出每个节点的哈夫曼编码:\ << endl; printHFMcode(node, hcd, n);

node[i].parent = node[i].lchild = node[i].rchild = 0; cout << \输入第\ << i << \个节点的值:\ << endl; cin >> node[i].data;

cout << \输入它的权重:\ << endl; cin >> node[i].weight;

}

} return 0;


哈夫曼树的建立与操作(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中职思政课实践教学模式的反思与重构

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: