PHP面試:寫出常見的排序算法,並用PHP實現冒泡排序

面試中,涉及算法相關的考點並不多,因爲在實際工作中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;
    }
  }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章