关于判定树的问题
在很多问题的处理过程中,需要进行大量的条件判断,这些判断结构的设计直接影响着程序的执行效率。例如,编制一个程序,将百分制转换成五个等级输出。大家可能认为这个程序很简单,并且很快就可以用下列形式编写出来:
if (socre <60) printf( "bad ");
else if (socre <70) printf( "pass ");
else if (score <80) printf( "general ");
else if (score <90) printf( "good ");
esle printf( "very good ");
在实际应用中,往往各个分数段的分布并不是均匀的。下面就是在一次考试中某门课程的各分数段的分布情况:
分数: 0-59 60-69 70-79 80-89 90-100
比例: 0.05 0.15 0.4 0.3 0.1
我创建如下的哈夫曼树:
1
0.4 0.6
0.3 0.3
0.15 0.15
0.05 0.1
可是这个树怎样与题目挂钩啊
[解决办法]
比例大的所在树的层数就小,这样在查找的时候平均查找长度就小。
[解决办法]
if (socre > = 70 && socre < 80)
else if (socre > = 80 && socre < 90)
else if (socre > = 60 && socre < 70)
else if (socre > = 90)
else
//0-59
这样?判定树我都快忘光了。