PHP實現八大演算法

2022-08-23 08:03:08 字數 1926 閱讀 4831

交換函式:注意要按引用傳遞,否則無法真正交換兩個數的值

function exchange(&$a, &$b

)

1、直接插入演算法

//

第一種實現

function insert_sort($arr

) }

}return

$arr

; }

//第二種實現

function insert_sort($arr

)

$j--;}}

return

$arr

; }

2、希爾排序演算法【暫缺】3、直接選擇排序演算法

function select_sort($arr

) }

$arr[$n] = $arr[$i

];

$arr[$i] = $key

; }

return

$arr

; }

4、堆排序演算法【暫缺】5、氣泡排序演算法

//

第一種function bubble_sort($arr

) }

}return

$arr

; }

//第二種

function bubble_sort($arr

)

$j++;}}

return

$arr

; }

6、快速排序演算法

function quick_sort(&$arr, $p, $r

) }

function partition(&$arr, $p, $r

) }

exchange(

$arr[$n+1], $arr[$r

]);

return

$n+1; //

n位上的元素,一經排序,則已固定

}

7、歸併排序演算法【注意:陣列按值傳輸】

function merge_sort(&$a, $p, $r

) }

//第一種

function merge(&$a, $p, $q, $r)

for($j = 0; $j

< $n2; $j++)

//防止越界(哨兵)

$l[$n1] = $r[$n2] =php_int_max;

$i = $j = 0;

for($k = $p; $k

<= $r; $k++)

else}}

//第二種

function merge(&$a, $p, $q, $r

)

for($j = 0; $j

< $n2; $j++)

$i = $j = 0;

$k = $p

;

while($i

)else

}for(; $i

for(; $j

}

8、基數排序演算法【暫缺】

八大基本演算法思想及實現 php實現

快遞排序 歸併排序 查詢排序 遞推演算法 遞迴 f 1 1 f 2 1 des 15 for i 3 i des i 檢視 echo print r f 遞迴演算法 遞迴思想 遞迴一定要有函式 function recursion n echo recursion 15 氣泡排序 氣泡排序 arr ...

八大演算法思想

下面介紹一下最常用的八大演算法思想 一 比較 笨 的列舉演算法 基本思路 1 確定列舉物件 列舉範圍和判定條件 2 注意列舉可能的解,驗證每個節是否是問題的解 列舉演算法步驟 1 題解的可能範圍,補能遺漏任何乙個真正解,也要避免有重複 2 判斷是否真正解的方法 3 使可能解的範圍降至最小,以便提高解...

八大排序演算法Java實現

常見的八大排序演算法,它們之間的關係如下 經常碰到這樣一類排序問題 把新的資料插入到已經排好的資料列中。將第乙個數和第二個數排序,然後構成乙個有序序列 將第三個數插入進去,構成乙個新的有序序列。對第四個數 第五個數 直到最後乙個數,重複第二步。首先設定插入次數,即迴圈次數,for int i 1 i...