将正序排成逆序用什么排序算法好 a:堆排序 b:快速排序 c:直接插入排序 d:简单选择排序

如题所述

选A,堆排序算法复杂度(logN),而快速排序在有序条件下算法最差,编程(n^2),c,d都是简单排序算法,复杂度都是(n^2)
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-10-13
d 简单选择排序。
正序排成逆序,无非就是第i个元素和第n-i个元素互换位置,刚好符合选择排序的流程
第2个回答  2016-08-30
堆排序阿,放进去,取出来就行了(堆特性)追问

放进去是小顶堆取出来怎么就成大顶堆了?

如果你说反着取出来那这就不是堆排序了吧

追答

我没记错的话,堆特性是先进后出吧?也就是说最小的先进去,后出来,最大的后进去,先出来吧?

追问

额。。。你搞错了 你说的是堆栈的堆 我说的是排序方法中的堆排序
不一样的

追答

好吧,是从算法的角度考虑的阿。。。尴尬了,我的错。

选择排序吧,因为是有序了,所以用选择排序的时候O(n/2),因为只需要排一半(另一半由于交换位置,实际上已经排好了),另一个有竞争力的是快速排序,但是快速排序也需要(n^2)这时候就看你的数据队列大小了,插入排序嘛O(n^2),堆排序,这个更是主要看你的数据队列大小了,数据多效果好

第3个回答  2019-12-28
堆排序,600000数据量逆序排正序,堆排序要比快速和选择更快,
第4个回答  2021-01-06

直接插入排序:一种最简单的排序方法

相似回答