氣泡排序
/**
* 實現思路:
* 雙重迴圈,外層控制冒泡論數。
* 內層控制每輪冒泡的比較次數。
**/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 ...