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 分析 首先這個你得找規律,這個剛開始的時候不要太心急。不難看出有個很好的式子 從第三個...