php面試題(演算法篇)

2021-09-28 17:41:26 字數 1403 閱讀 4703

1.使用php描述氣泡排序和快速排序演算法,物件可以是乙個陣列

//氣泡排序(陣列排序)

function bubble_sort

($array)}}

return $array;

}

//快速排序(陣列排序)

function quick_sort

($array)

else

} $left_arr =

quick_sort

($left_arr)

; $right_arr =

quick_sort

($right_arr)

;return

array_merge

($left_arr,

array

($key)

, $right_arr)

;}

//2. 使用php描述順序查詢和二分查詢(也叫做折半查詢)演算法,順序查詢必須考慮效率,物件可以是乙個有序陣列

//二分查詢(陣列裡查詢某個元素)

function bin_sch

($array, $low, $high, $k)

elseif ($k < $array[$mid]

)else

}return-1

;}

//順序查詢(陣列裡查詢某個元素)

function seq_sch

($array, $n, $k)}if

($i<$n)

else

}

3.寫乙個二維陣列排序演算法函式,能夠具有通用性,可以呼叫php內建函式

二維陣列排序, arr

是資料,

arr是資料,

arr是資料

,keys是排序的健值,$order是排序規則,1是公升序,0是降序

function array_sort

($arr, $keys, $order=0)

$keysvalue =

array()

;foreach

($arr as $key =

> $val)

if($order ==0)

else

reset

($keysvalue)

;foreach

($keysvalue as $key =

> $vals)

$new_array =

array()

;foreach

($keysort as $key =

> $val)

return $new_array;

}

面試題 PHP面試題

建議 比如是系統配置,缺少了無法執行,自然使用 require 如果某一段程式少了,只是少了統計 訪問的,不是必不可少的。可以使用 include 而加不加 once 就是效率上的區別,雖然系統會幫你考慮只包含一次,但系統的判斷會降低效率,因此,更應該在開發之初,把目錄結構調整高好,盡量不使用 on...

PHP常見演算法面試題

一 求斐波那契數列 斐波那契數,亦稱之為斐波那契數列 義大利語 successione di fibonacci 又稱 分割數列 費波那西數列 費波拿契數 費氏數列,指的是這樣乙個數列 1 1 2 3 5 8 13 21 用文字來說,就是斐波那契數列由 0 和 1 開始,之後的斐波那契數列係數就由之...

php面試題 三 演算法

冒泡演算法排序 基本思想 對需要排序的陣列從後往前 逆序 進行多遍的掃瞄,當發現相鄰的兩個數值的次序與排序要求的規則不一致時,就將這兩個數值進行交換。這樣比較小 大 的數值就將逐漸從後面向前面移動。public function bubblesort 快速排序 基本思想 在陣列中挑出乙個元素 一般為...