php經典演算法

2022-09-17 05:09:09 字數 1303 閱讀 8865

1.冒泡演算法,排序演算法,由於在排序過程中總是小數往前放,大數往後放,相當於氣泡往上公升,所以稱作氣泡排序

$array =

array(a,f,c,b,e,h,j,i,g);

function

maopao_fun($array)

$count = count($array);

for($i=0;$i<$count;$i++)}}

return $array;

}2.快速排序,

快速排序(quicksort)是對氣泡排序的一種改進。

由c. a. r.

hoare在2023年提出。它的基本思想是:通過一趟排序將要排序的資料分割成獨立的兩部分,

其中一部分的所有資料都比另外一部分的所有資料都要小,然後再按此方法對這兩部分資料分別進行快速排序,

整個排序過程可以遞迴進行,以此達到整個資料變成有序序列。

function

quicksort($arr)

$key = $arr[0];

$left_arr   

= array();

$right_arr   

= array();

for($i=1; $i<$len; $i++) else

}$left_arr   

= quicksort($left_arr);

$right_arr   

= quicksort($right_arr);

return array_merge($left_arr, array($key),

$right_arr);

}3.選擇排序

每一趟從待排序的資料元素中選出最小(或最大)的乙個元素,

順序放在已排好序的數列的最後,直到全部待排序的資料元素排完。 選擇排序是不穩定的排序方法

function

select_sort($arr)}}

return $arr;

}4.插入排序

從第乙個元素開始,該元素可以認為已經被排序

取出下乙個元素,在已經排序的元素序列中從後向前掃瞄

如果該元素(已排序)大於新元素,將該元素移到下一位置

重複步驟3,直到找到已排序的元素小於或者等於新元素的位置

將新元素插入到下一位置中

重複步驟2

function

insert_sort($arr)

}return $arr;

}$arr =

array(49,38,65,97,76,13,27);

print_r(insert_sort($arr));

PHP經典演算法題

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

PHP經典趣味演算法

1 一群猴子排成一圈,按1,2,n依次編號。然後從第1只開始數,數到第m只,把它踢出圈,從它後面再開始數,再數到第m只,在把它踢出去 如此不停的進行下去,直到最後只剩下乙隻猴子為止,那只猴子就叫做大王。要求程式設計模擬此過程,輸入m n,輸出最後那個大王的編號。function king n,m e...

PHP經典演算法題

php學習之路 演算法題 1.使用php描述順序查詢和二分查詢 也叫做折半查詢 演算法,順序查詢必須考慮效率,物件可以是乙個有序陣列 二分查詢 陣列裡查詢某個元素 function bin sch array,low,high,k elseif k array mid else return 1 順...