php面試題 三 演算法

2021-10-20 07:32:08 字數 1593 閱讀 8469

冒泡演算法排序

基本思想:

對需要排序的陣列從後往前(逆序)進行多遍的掃瞄,當發現相鄰的兩個數值的次序與排序要求的規則不一致時,就將這兩個數值進行交換。這樣比較小(大)的數值就將逐漸從後面向前面移動。

public

function

bubblesort()

}}}

快速排序

基本思想:

在陣列中挑出乙個元素(一般為第乙個)作為標尺,掃瞄一遍陣列將比標尺小的元素排在標尺之前,將所有比標尺大的元素排在標尺之後,將小的陣列和大的陣列通過遞迴再次排序,當陣列變成最小陣列,所有陣列再次合併組成新的陣列。

public

function

quicksort

($arr

)$first_num

=$arr[0

];//選擇乙個標尺 選擇第乙個元素

$left_array

=array()

;//小於標尺的

$right_array

=array()

;//大於標尺的

for($i=

1;$i<

$length;$i

++)else

}$left_array

=quicksort

($left_array);

$right_array

=quicksort

($right_array);

return

array_merge

($left_array

,array

($first_num),

$right_array);

}

二分查詢(必須是有序的)

基本思想:

假設資料是按公升序排序的,對於給定值x,從序列的中間位置開始比較,如果當前位置值等於x,則查詢成功;若x小於當前位置值,則在數列的前半段中查詢;若x大於當前位置值則在數列的後半段中繼續查詢,直到找到為止。(資料量大的時候使用)

public

function

binsearch

($arr

,$low

,$high,$k

)elseif(

$k<

$arr

[$mid])

else

}return-1

;}

遍歷資料夾

public

function

eachdir

($dir

)else}}

closedir

($handle);

}return

$files

;}

獲取url副檔名

public

function

getext

($url

)

php面試題(三)

一 填空題 1.php是用什麼語言編寫的 基於c語言的 2.目前php的最高版本是 php 5.5版本 3.lamp的全稱是 linux apache mysql perl php python 4.php的三種注釋方式 1 echo www.phpddt.com 單行注釋 2 多行注釋 echo ...

php面試題(三)

注意 這是一篇比較基礎的php面試題的 一 填空題 1.php是用什麼語言編寫的 基於c語言的 2.目前php的最高版本是 php 5.4版本 3.lamp的全稱是 linux apache mysql perl php python 4.php的三種注釋方式 1 echo www.phpddt.c...

演算法面試題三

螺旋佇列問題 看清一下數字排列的規律,設1點的座標是 0,0 x方向向右為正,y方向向下為正,列如7的座標是 1,1 2的座標是 0,1 3的座標是 1,1 程式設計實現輸入任意一點座標 x,y 輸出所對應的數字。21 22 20 7 8 9 10 19 6 1 2 11 18 5 4 3 12 1...