假设有5个初始归并段,每个归并段有20个记录,采用5路平衡归并排序,若采用败者树的方法,总的排序码比较次数不超过( )。
A、
20
B、
300
C、
396
D、
500
【正确答案】
B
【答案解析】
解析:假设采用k路平衡归并排序算法,则败者树的高度为[log
2
k]+1。在每次调整后,找下一个具有最小排序码记录时,最多做[log
2
]次排序码比较。由题意可知,总共有100个记录,所以总的比较次数不超过100×[log
2
5]=300。 注意:采用败者树进行k路平衡归并的外部排序算法,其总的归并效率与k无关。
提交答案
关闭