157. 下列内部排序算法中: A.快速排序 B.直接插入排序 C.二路归并排序 D.简单选择排序 E.起泡排序
来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:数学作业 时间:2024/05/01 16:12:10
157. 下列内部排序算法中: A.快速排序 B.直接插入排序 C.二路归并排序 D.简单选择排序 E.起泡排序
下列内部排序算法中:
A.快速排序 B.直接插入排序 C.二路归并排序 D.简单选择排序 E.起泡排序 F.堆排序
① 其比较次数与序列初态无关的算法是(D,C );
求详细解释啊!
下列内部排序算法中:
A.快速排序 B.直接插入排序 C.二路归并排序 D.简单选择排序 E.起泡排序 F.堆排序
① 其比较次数与序列初态无关的算法是(D,C );
求详细解释啊!
你这答案不对啊.
方式: 平均 最坏 最好
插入 n^2 n^2 n
希尔 n^1.3 / /
冒泡 n^2 n^2 n
快速 nlogn n^2 nlogn
选择 n^2 n^2 n^2
堆排 nlogn nlogn nlogn
归并 nlogn nlogn nlogn
基数 d(n+r) d(n+r) d(n+r)
之所以有最好最坏就是因为受到了初始状态的影响,所以三个值全一样的就是不受影响的,几个外排你无视好了,但F堆排也肯定是答案之一.
最慢的选择排序就不说了,你自己看下算法就明白了.
归并排序是将数组不断的二分直至子数组长度为1,然后再开始合并,因此它的时间复杂度只与数组长度相关,而每一层的比较次数都是O(n)级别,共logn层,所以无论如何都是O(nlogn)
堆排则是通过建立特殊的数据结构,将每一次的比较结果都通过最大/小堆记录了下来,你可以理解为算法比较过a与b的大小之后,直道结束,它都知道a与b的大小了,而不需要再次比较,因此在堆建立完之后,要找出一个数的大小序号所需要的计算量都是O(logn)级别,对于共n个数的排序,一共就是O(nlogn),跟归并相比虽然都是n乘logn,但是意义是不同的.
然后就是你这个题有问题,不能说比较次数,是比较次数的量级,也就是时间复杂度表达式中最高次项及其系数是相同的,而无论是哪一种排序方式,准确地比较次数或多或少都会受到初始状态的影响
方式: 平均 最坏 最好
插入 n^2 n^2 n
希尔 n^1.3 / /
冒泡 n^2 n^2 n
快速 nlogn n^2 nlogn
选择 n^2 n^2 n^2
堆排 nlogn nlogn nlogn
归并 nlogn nlogn nlogn
基数 d(n+r) d(n+r) d(n+r)
之所以有最好最坏就是因为受到了初始状态的影响,所以三个值全一样的就是不受影响的,几个外排你无视好了,但F堆排也肯定是答案之一.
最慢的选择排序就不说了,你自己看下算法就明白了.
归并排序是将数组不断的二分直至子数组长度为1,然后再开始合并,因此它的时间复杂度只与数组长度相关,而每一层的比较次数都是O(n)级别,共logn层,所以无论如何都是O(nlogn)
堆排则是通过建立特殊的数据结构,将每一次的比较结果都通过最大/小堆记录了下来,你可以理解为算法比较过a与b的大小之后,直道结束,它都知道a与b的大小了,而不需要再次比较,因此在堆建立完之后,要找出一个数的大小序号所需要的计算量都是O(logn)级别,对于共n个数的排序,一共就是O(nlogn),跟归并相比虽然都是n乘logn,但是意义是不同的.
然后就是你这个题有问题,不能说比较次数,是比较次数的量级,也就是时间复杂度表达式中最高次项及其系数是相同的,而无论是哪一种排序方式,准确地比较次数或多或少都会受到初始状态的影响
157. 下列内部排序算法中: A.快速排序 B.直接插入排序 C.二路归并排序 D.简单选择排序 E.起泡排序
下列各个排序算法中,要求辅助空间最大的是 A.希尔排序法 B.快速排序法 C.堆排序法 D.二路归并排序法
下列排序方法中,最坏情况下比较次数最少的是()为什么 A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆
利用随机函数产生30000个随机整数,利用插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序等排序方法进
503,087,512,908,170,897,275,653,462冒泡排序、快速排序、直接选择排序、堆排序、归并排序
下面的排方法中,最坏的情况下比较次数最少的是( ) A冒泡排序 B简单选择排序 C直接插入排序 D 堆排序
排序
在快速排序, 堆排序,归并排序中 哪个是最稳定的排序方法?
数据结构中堆排序,快速排序,归并排序排序的时间复杂度顺序快慢依次是什么?
简述二路归并排序,并分析其算法复杂性.
Excel表格 我想让A列的排序不变,让B、C、D、E的排序按照A列排序
简单选择排序和堆排序问题