插入排序和选择排序的区别

computer programmingprogrammingmiscellaneous更新于 2024/11/19 22:36:00

插入排序

  • 在插入排序中,值被插入到列表/数组中,其中一些值是先前排序的。

  • 这是一种稳定的排序算法。

  • 最佳情况下的时间复杂度为 O(N)(当列表按升序排序时)。

  • 定义一个键值,然后从头到尾迭代数组。

  • 迭代期间将当前元素与键值进行比较。

  • 插入排序期间进行的比较操作次数小于进行的元素交换次数。

  • 如果键元素小于与其进行比较的元素,则将先前的元素与其进行比较。

  • 大于 key 的元素将向上移动一个位置,为交换的元素腾出空间。

  • 元素是预先知道的,只有在插入排序期间才确定它们的位置。

选择排序

  • 在选择排序中,首先从列表中获取最小或最大数字。

  • 列表按升序或降序排序。

  • 它被认为是一种不稳定的排序算法。

  • 在所有情况下的时间复杂度都是 O(n 平方)。

  • 与插入排序相比,它的效率较低。

  • 迭代期间进行的比较次数多于元素交换次数完成。

  • 列表中每个元素的位置都是预先知道的。

  • 这意味着用户只搜索需要插入到特定位置的元素。


相关文章