算法基礎:生動理解排序算法(1)

編程語言 Java 技術 銀桑的AI智能 銀桑的AI智能 2017-09-19

算法基礎:生動理解排序算法(1)

總覽

算法基礎:生動理解排序算法(1)

冒泡排序(BubbleSort)

1.基本思想:

兩個數比較大小,較大的數下沉,較小的數冒起來。

2.過程:

比較相鄰的兩個數據,如果第二個數小,就交換位置;

從後向前兩兩比較,一直到比較最前兩個數據。最終最小數被交換到起始的位置,這樣第一個最小數的位置就排好了;

繼續重複上述過程,依次將第2.3...n-1個最小數排好位置,總共迭代n-1次。

3.平均時間複雜度:O(n2)

4.例子:

算法基礎:生動理解排序算法(1)

5.Python代碼

算法基礎:生動理解排序算法(1)

6、Java代碼

算法基礎:生動理解排序算法(1)

選擇排序(SelctionSort)

1.基本思想:

在長度為N的無序數組中,第一次遍歷n-1個數,找到最小的數值與第一個元素交換;

第二次遍歷n-2個數,找到最小的數值與第二個元素交換;

以此類推,遍歷到n-1個數,找到最小的數值與n-1的元素交換。

2.平均時間複雜度:O(n2)

3.例子:

算法基礎:生動理解排序算法(1)

4.Python代碼

算法基礎:生動理解排序算法(1)

5、Java代碼

算法基礎:生動理解排序算法(1)

Reference

http://www.runoob.com/w3cnote/sort-algorithm-summary.html

算法基礎:生動理解排序算法(1)

相關推薦

推薦中...