插入排序和选择排序的区别
computer programmingprogrammingmiscellaneous更新于 2024/11/19 22:36:00
插入排序
在插入排序中,值被插入到列表/数组中,其中一些值是先前排序的。
这是一种稳定的排序算法。
最佳情况下的时间复杂度为 O(N)(当列表按升序排序时)。
定义一个键值,然后从头到尾迭代数组。
迭代期间将当前元素与键值进行比较。
插入排序期间进行的比较操作次数小于进行的元素交换次数。
如果键元素小于与其进行比较的元素,则将先前的元素与其进行比较。
大于 key 的元素将向上移动一个位置,为交换的元素腾出空间。
元素是预先知道的,只有在插入排序期间才确定它们的位置。
选择排序
在选择排序中,首先从列表中获取最小或最大数字。
列表按升序或降序排序。
它被认为是一种不稳定的排序算法。
在所有情况下的时间复杂度都是 O(n 平方)。
与插入排序相比,它的效率较低。
迭代期间进行的比较次数多于元素交换次数完成。
列表中每个元素的位置都是预先知道的。
这意味着用户只搜索需要插入到特定位置的元素。