对于逆序数组,,选择排序 和 插入排序 那个更快???请给出 详细的 理由。。
2个回答
展开全部
插入排序(可以)更快。(不是一定,看插入排序寻找插入位置时所采用的算法)
选择排序需要从序列中找到当前最大或最小的猜磨备值才能进行排序,因此每次都需要与子序列中的全部元素进行比较。
插入排序无需比较子序列全部元素,在逆序情况下,只需要找到当前序列第一个比自己大或小的元素穗毁,将自身插入到其前一个位置即可。
例如 4,3,2,1 要排序成1,2,3,4
1. 选择排序,首先比较3次,获得1,然后比较两次获得2,最后比较1次获得3
2. 插入排序, 首先3比4小插入到4的前面,2比3小插入到3的前面,1比2小插入到2的前面,游迟总共比较三次。此时插入排序的速度更快。
展开全部
选择排序:
每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的拿禅旁最后,直到全部待排序的数据元素排完。 选择排序是不稳定袭凳的排序方法。
选择排序是不稳定的。算法复杂度是O(n ^2 )。
插入排序:
每次从无序表中取出第一个消橡元素,把它插入到有序表的合适位置,使有序表仍然有序。
直接插入排序是稳定的。算法时间复杂度是O(n ^2)。
选择排序适用于数组,而插入排序则适用于链表
看你是什么存储结构了
每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的拿禅旁最后,直到全部待排序的数据元素排完。 选择排序是不稳定袭凳的排序方法。
选择排序是不稳定的。算法复杂度是O(n ^2 )。
插入排序:
每次从无序表中取出第一个消橡元素,把它插入到有序表的合适位置,使有序表仍然有序。
直接插入排序是稳定的。算法时间复杂度是O(n ^2)。
选择排序适用于数组,而插入排序则适用于链表
看你是什么存储结构了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询