数据结构中各种排序算法

(1)冒泡排序

基本思想:从上至下进行排序,两两比较,大的值向下,小的值向上;若x[i]>x[i+1],则交换顺序

优点:较为稳定的内部排序

缺点:不适用于数据量较大的排序,效率较低

时间复杂度:O(n^2)

举例:

数据结构中各种排序算法

(2)直接选择排序

基本思想:在要排序的数组中,选择最大(最小)的数与第一个数进行交换,再从剩下的数中,选择最大(最小)的数与第二个数进行交换,直到第n个数和第n-1个数比较为止

优点:是一种较为稳定的内部排序

缺点:效率较低

时间复杂度:O(n^2)

(3)插入排序

基本思想:[i,2,3....i][i+1,i+2,.....n]

                 有序区,无序区

                 前i个数有序,从i+1个数开始选择插入前i个数中,使得前面的数小于等于它,后面的数大于等于它;直至所以的数插                    入完毕

优点:是一种较为稳定的内部排序

缺点:效率较低,适用随机数较少的场景

时间复杂度:O(n^2)

(4)希尔排序

基本思想:

(5)快速排序

每经过一趟快排,轴点元素都必然就位,也就是说,一趟下来至少有1个元素在其最终位置,2趟就有两个位置元素就位。

(6)

 

 

    数据结构中各种排序算法