当前位置| 科技 > > 列表>详情

冒泡排序的特性主要是什么?插入排序的主要含义是什么?

2023-04-11 08:23:49 来源:创视网

冒泡排序的特性

最好时间复杂度为 O(n) ,这时对应着数组已经是有序的了,只需要一次冒泡操作;最坏时间复杂度为 O(n^2) ,进行 n 次冒泡操作才能完成最终的排序 ;空间复杂度为 O(1) ,是一个原地排序算法

冒泡排序是一个稳定的排序算法,因为我们可以控制如果两个元素相等,就不进行交换,这就保证了它的稳定性 (这里的稳定性是指,排序算法不改变相等元素在数组中的先后位置,也就是a==b,在数组中a的位置比b的位置靠前,那么排序后a的位置仍然靠前,也就是排序不改变它们的相对位置)

冒泡排序所需要的交换操作次数和数组中的逆序度相等

插入排序

插入排序算法是基于某序列已经有序排列的情况下,通过一次插入一个元素的方式按照原有排序方式增加元素。这种比较是从该有序序列的最末端开始执行,即要插入序列中的元素最先和有序序列中最大的元素比较,若其大于该最大元素,则可直接插入最大元素的后面即可,否则再向前一位比较查找直至找到应该插入的位置为止。插入排序的基本思想是,每次将1个待排序的记录按其关键字大小插入到前面已经排好序的子序列中,寻找最适当的位置,直至全部记录插入完毕。执行过程中,若遇到和插入元素相等的位置,则将要插人的元素放在该相等元素的后面,因此插入该元素后并未改变原序列的前后顺序。我们认为插入排序也是一种稳定的排序方法。插入排序分直接插入排序、折半插入排序和希尔排序3类。

标签: 冒泡排序 主要的特性 插入排序 主要含义