以归并算法为例,比较内部排序和外部排序的不同,说明外部排序如何提高操作效率。【华南师范大学1999
下列内部排序算法中,其比较次数(交换次数)与序列初态无关的算法是()。
A.快速排序
B.直接插入排序
C.二路归并排序
D.冒泡排序
外排序是需要使用硬盘等外部存储设备进行大数据集合排序的过程或算法,其中一种策略是“排序-归并”,如下图所示。仔细理解该图所表达的基本思想,回答问题。参见图示。如果:内存块数为,每块可装载个元素,待排序元素集合所占用磁盘块数,采用排序-归并算法进行升序排序,下列说法正确的是_____。
A.算法以磁盘块读写次数衡量的时间复杂性为
B.算法以磁盘块读写次数衡量的时间复杂性为
C.算法以磁盘块读写次数衡量的时间复杂性为
D.算法以磁盘块读写次数衡量的时间复杂性为
A.算法以磁盘块读写次数衡量的时间复杂性为
B.算法以磁盘块读写次数衡量的时间复杂性为
C.算法以磁盘块读写次数衡量的时间复杂性为
D.算法以磁盘块读写次数衡量的时间复杂性为
A、首先划分子集合,每个子集合最大可为块,可以划分为/个子集合。这样划分的理由:一是子集合可以全部装载入内存执行内排序,二是最大限度地利用内存产生尽可能少数目的子集合
B、将块内存留出两块,一块作为输出数据块,一块用于待比较元素数据块。其余-2块用于装载尽可能多数目的子集合,即尽可能采用更多路的归并。这样做的理由:尽可能最大限度地利用内存,以便减少归并的次数
C、如果子集合参与归并一次被称为一个轮次,则整个数据集的轮次是指该数据集中参与归并次数最多的子集合的轮次。归并算法应考虑以尽可能少轮次的归并为目标来衡量各种不同归并策略的好坏。也可以定义一个参数“子集合轮次累积和”,即所有子集合参与归并轮次的总和,来衡量性能好坏,即“子集合轮次累积和”越小,算法性能越好
D、假设=6,=60,则按照上述(A)(B)(C)思想,可自动确定出:子集合数目=10,第一次将10个子集合分成3组(3个、3个和4个)并分别采用3路归并和4路归并将其归并成3个子集合;第二次对这3个集合再采用3路归并完成最终的排序。这样做的算法是最优的
A.算法以磁盘块读写次数衡量的时间复杂性为
B.算法以磁盘块读写次数衡量的时间复杂性为
C.算法以磁盘块读写次数衡量的时间复杂性为
D.算法以磁盘块读写次数衡量的时间复杂性为
对由n个记录所组成的有序关键码排序时,下列各常用排序算法的平均比较次数分别是:二路归并排序为(29),冒泡排序(30),快速排序为(31)。其中,归并排序和快速排序所需要的辅助存储分别是(32)和(33)。
A.O(1)
B.O(nlog2n)
C.O(n)
D.O(n2)
E.O(n(log2n)2)
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!