首页学历类考试大学计算机科学
(简答题)

如果修改归并排序算法,将数组分成1/3和2/3大小不等的两部分,分别排序后再归并,算法的最坏时间复杂度有什么变化?

正确答案

设对n个元素排序的时间为T(n),对两部分排序的时间分别为T(n/3)和,合并的时间为n-1,得到递归方程:

答案解析

相似试题

  • (简答题)

    简述归并排序算法和快速排序算法的分治方法。

    答案解析

  • (填空题)

    序列4 ,2 ,5 ,3 ,8 ,6 ,7,9,采用归并排序算法(升序),经一趟归并后,序列的结果()。

    答案解析

  • (简答题)

    编一个程序,定义一个字符串数组,输入若干国家名称(所有名称全用大写或者全用小写),设计一个算法按字典顺序将这些国家名称进行排序。

    答案解析

  • (判断题)

    除插入和删除操作外,数组的主要操作还有存取、修改、检索和排序等。

    答案解析

  • (简答题)

    对于记录序列A[1]~A[n]可按如下如下方法实现奇偶交换排序:第一趟对所有的奇数i,将A[i]和A[i+1]进行比较,第二趟对所有的偶数i,将A[i]和A[i+1]进行比较,每次比较时若A[i]>A[i+1],则将二者交换,然后重复上述排序过程,直至整个数组有序。编写算法实现上述奇偶交换排序。

    答案解析

  • (单选题)

    如果将所有中国人按照生日来排序,则使用()算法最快。

    答案解析

  • (填空题)

    对用数组存储的线性表(16,15,32,11,6,30),用快速排序算法进行由小到大排序,若排序下标范围为0~5,选择元素16作为支点,调用一趟快速排序算法后,元素16在数组中的下标位置为()

    答案解析

  • (简答题)

    完成从一维数组A[n]上进行快速排序的递归算法。

    答案解析

  • (填空题)

    下面函数用“折半查找法”从有10个数的a数组中对关键字m查找,若找到,返回其下标值,否则返回-1,请填(2)空使程序完整。 经典算法提示: 折半查找法的思路是先确定待查元素的范围,将其分成两半,然后比较位于中间点元素的值。如果该待查元素的值大于中间点元素的值,则将范围重新定义为大于中间点元素的范围,反之亦反。

    答案解析

快考试在线搜题