面試中,涉及演算法相關的考點并不多,因為在實際作業中PHP涉及的演算法都很簡單,但也會出現在一些筆試中,用于考察面試者的基本功,其中考察最多的就是排序演算法,而對 冒泡排序的理解和實作 更是重中之重,
常見排序演算法
- 冒泡排序
- 直接插入排序
- 希爾排序
- 選擇排序
- 堆排序
- 歸并排序
常考題:以上哪個演算法的效率更快?(如果有 歸并排序 優先選擇,沒有的話,選擇 快速排序)
冒泡排序的原理
兩兩相鄰的數進行比較,如果反序就交換,否則不交換,
時間復雜度:O(n^2)
空間間復雜度:O(1)
冒泡排序的實作
for ($i=0, $c=count($arr); $i < $c ; $i++) {
for ($j=0; $j < $c-1; $j++) {
if($arr[$j] > $arr[$j+1]){
$temp = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $temp;
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/71665.html
標籤:PHP
