基本排序演算法

2021-10-24 22:40:27 字數 1182 閱讀 9184

氣泡排序

/**

* 實現思路:

* 雙重迴圈,外層控制冒泡論數。

* 內層控制每輪冒泡的比較次數。

**/function

bubble_sort

($array)}

}return

$array

;}

選擇排序

/**

* 實現思路:

* 雙重迴圈,外層控制輪數,內層控制比較次數。

* * 假設最小為第乙個,然後迴圈找出最小值。

* 外層迴圈進行交換

**/function

select_sort

($array)}

if($m!=$i)

}return

$array

;}

插入排序

/**

* 雙重迴圈,外層控制輪數,內層迴圈控制,比較並插入。

* 選擇當前數。

* 內層迴圈與前乙個數對比大小,進行交換。

**/function

insert_sort

($array

)else}}

return

$array

;}

快速排序

/**

* 先判斷是否繼續執行

* 選擇乙個基礎數,然後迴圈對比區分大小放入兩個陣列

* 遞迴排序兩個陣列

* 合併左邊、基礎數、右邊

**/function

quick_sort

($array

)$tmp

=$array[0

];$left

=$right=[

];for($i=

1;$i<

$count;$i

++)else

}$left

=quick_sort

($left);

$right

=quick_sort

($right);

return

array_merge

($left

,array

($tmp),

$right);

}

基本排序排序演算法

時空複雜度 氣泡排序 時間o n 2 額外空間o 1 插入排序 時間o n 2 額外空間o 1 選擇排序 時間o n 2 額外空間o 1 基數排序 時間o k n k logn max 額外空間o n 臨時儲存 o b 記數,b為基的大小 記數排序 時間o n k 額外空間o k 希爾排序 時間o ...

基本排序排序演算法

時空複雜度 氣泡排序 時間o n 2 額外空間o 1 插入排序 時間o n 2 額外空間o 1 選擇排序 時間o n 2 額外空間o 1 基數排序 時間o k n k logn max 額外空間o n 臨時儲存 o b 記數,b為基的大小 記數排序 時間o n k 額外空間o k 希爾排序 時間o ...

基本排序演算法

將要排序的物件分作兩部份,乙個是已排序的,乙個是未排序的,從後端未排序部份選擇乙個最小值,並放入前端已排序部份的最後乙個,例如 排序前 70 80 31 37 10 1 48 60 33 80 1 80 31 37 10 70 48 60 33 80 選出最小值1 1 10 31 37 80 70 ...