首页 > 试题广场 >

排序算法的效率取决于元素的比较次数与元素的位置移动次数,现需

[单选题]
排序算法的效率取决于元素的比较次数与元素的位置移动次数,现需要对数组进行升序排序,已知一数组的元素为{1, 2, 3, 4, 5, 6, 7, 8, 9, 10},问下面哪种排序算法的效率最高?
  • 插入排序
  • 选择排序
  • 快速排序
  • 冒泡排序
冒泡排序,设置一个标记,然后遍历比较一遍时间复杂度也是n啊
发表于 2018-01-05 20:04:33 回复(3)
就这道题目而言,
1.如果插入排序每次插入都是在已有序序列的头部开始向后移动比较的话,需要比较(1+9)*9/2=45次;如果插入排序每次插入都是在已有序序列的尾部开始向前移动比较的话,需要比较9次。
2.选择排序需要比较(1+8)*8/2=36次。
3.优化的冒泡排序可以做到序列事先有序的情况下比较9次返回。
发表于 2018-05-09 19:47:55 回复(0)
插入排序在数组有序时效率最高,因为每次只需要和上一个元素比较,不用移动元素
发表于 2018-01-04 10:13:08 回复(0)
感觉对这些算法再加个小判断都只要遍历一遍
发表于 2018-03-28 00:18:19 回复(2)
tt
发表于 2018-01-23 05:01:40 回复(0)
数据无须时,快速排序效率最高!
发表于 2018-01-15 18:38:16 回复(0)
通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入。逆序排列是最坏情况,o(n^2)
发表于 2018-01-11 17:05:36 回复(0)