b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

哈夫曼树 c语言_哈夫曼树的构造c语言_switch语句举例(4)

电脑杂谈  发布时间:2016-12-01 18:02:13  来源:网络整理

HuffCode[i].bit[j]=cd.bit[j];

HuffCode[i].start=cd.start;

}

for (i=0;i<n;i++) /*输出每个叶子结点的哈夫曼编码*/

{ for (j=HuffCode[i].start+1;j<n;j++)

printf(“%ld”,HuffCode[i].bit[j]);

printf(“\n”);

}

}

算法6.26

3.哈夫曼树在判定问题中的应用

例如,要编制一个将百分制转换为五级分制的程序。显然,此程序很简单,只要利用条件语句便可完成。如:

if (a<60) b=”bad”;

else if (a<70) b=”pass”

else if (a<80) b=”general”

else if (a<90) b=”good”

else b=”excellent”;

这个判定过程可以图6.19 (a)所示的判定树来表示。哈夫曼树 c语言如果上述程序需反复使用,而且每次的输入量很大,则应考虑上述程序的质量问题,即其操作所需要的时间。因为在实际中,学生的成绩在五个等级上的分布是不均匀的,假设其分布规律如下表所示:则80%以上的数据需进行三次或三次以上的比较才能得出结果。假定以5,15,40,30 和10 为权构造一棵有五个叶子结点的哈夫曼树,则可得到如图6.19 (b)所示的判定过程,它可使大部分的数据经过较少的比较次数得出结果。但由于每个判定框都有两次比较,将这两次比较分开,得到如图6.19 (c)所示的判定树,按此判定树可写出相应的程序。假设有10000 个输入数据,若按图6.19 (a)的判定过程进行操作,则总共需进行31500 次比较;而若按图6.19 (c)的判定过程进行操作,则总共仅需进行22000 次比较。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-22256-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 水灵弢
      水灵弢

      美国主子这不是变相承认中国人造岛礁是领土吗

    • 汪芙蓉
      汪芙蓉

      南方黑芝麻糊虽然垄断性地位

    • 崔璐
      崔璐

      重新出发

    热点图片
    拼命载入中...