2020考研计算机备考考点每日一练,备考计算机的同学注意了~启航小编每天都会为大家带来计算机考研知识点的分享,以下是今天的知识点练习~更多计算机专业课考研真题及考研资讯尽在启航考研计算机频道。
知识点-排序
4、设有6个有序表A,B,C,D,E,F分别含有10、35、40、50、60和200个数据元素,各表中元素按升序排列,要求通过5次两两合并,将6个表最终合并成1个升序表,并在最坏情况下比较的总次数达到最小,请回答:
(1)给出完整的合并过程,并求出最坏情况下比较的总次数。
(2)根据你的合并过程,描述n(n≥2)个不等长升序表的合并策略,并说明理由。
参考答案:
(1)6个表的合并顺序如下图所示。
根据上图中的Huffman树,6个序列的合并过程为:
①、表A与表B合并,生成含45个元素的表AB;
②、表AB与表C合并,生成含85个元素的表ABC;
③、表D与表E合并,生成含110个元素的表DE;
④、表ABC与表DE合并,生成含195个元素的表ABCDE;
⑤、表ABCDE与表F合并,生成含395个元素的最终表。
由于合并两个长度分别为m和n的有序表,最坏情况下需要比较m+n-1次,故最坏情况下比较的总次数计算如下:
第1 次合并:最多比较次数=10+35-1=44
第2 次合并:最多比较次数=45+40-1=84
第3 次合并:最多比较次数=50+60-1=109
第4 次合并:最多比较次数=85+110-1=194
第5 次合并:最多比较次数=195+200-1=394
比较的总次数最多为:44+84+109+194+394=825。
(2)各表的合并策略是:在对多个有序表进行两两合并时,若表长不同,则最坏情况下总的比较次数依赖于表的合并次序。可以借用哈夫曼树的构造思想,依次选择最短的两个表进行合并,可以获得最坏情况下最佳的合并效率。
启航课程推荐>>>>计算机半年集训定向营》》》课时200+、全职老师高校硕博亲授、面授答疑与在线 答疑相结合更有全年复习规划指导,让你在备考过程不再迷茫
详情了解>>>>计算机半年集训定向营
【26考研辅导课程推荐】:26考研集训课程,VIP领学计划,26考研VIP全科定制套餐(公共课VIP+专业课1对1) , 这些课程中都会配有内部讲义以及辅导书和资料,同时会有教研教辅双师模式对大家进行教学以及督学,并配有24小时答疑和模拟测试等,可直接咨询在线客服老师领取大额优惠券。
热门下载
资料下载
院校解析
真题解析
考研数学
考研英语
考研政治
考研备考