PHP經典演算法題

2022-07-17 10:33:10 字數 1159 閱讀 3866

php學習之路---演算法題

1.使用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

}

2.使用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);

}

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

二維陣列排序, $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經典演算法題

面試題 演算法題 1 插入排序 一維陣列 基本思想 每次將乙個待排序的資料元素,插入到前面已經排好序的數列中的適當位置,使數列依然有序 直到待排序資料元素全部插入完為止。示例 初始關鍵字 49 38 65 97 76 13 27 49 j 2 38 38 49 65 97 76 13 27 49 j...

PHP面試經典演算法題整理

最近在準備php面試。看了幾個經典的演算法,記錄一下 約瑟夫環 線性代數 function king n m return p 1 約瑟夫環 佇列 function king n m else i return array shift arr 有一母牛,到4歲可生育,每年一頭,所生均是一樣的母牛,到...

經典演算法題

題目 古典問題 有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第四個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?1.程式分析 兔子的規律為數列1,1,2,3,5,8,13,21 分析 首先這個你得找規律,這個剛開始的時候不要太心急。不難看出有個很好的式子 從第三個...