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