快遞排序
歸併排序
查詢排序
遞推演算法
遞迴演算法<?php
//遞迴$f[
1]=1
;$f[2
]=1;
$des=15
;for($i
=3;$i
<=
$des;$i
++)//檢視
echo'';
print_r($f
);?>
氣泡排序<?php
//遞迴思想
//遞迴一定要有函式
function
recursion($n
)echo
recursion(15
)?>
選擇排序<?php
//氣泡排序
$arr
=array(1
,4,2
,9,7
,5,8
);for($i=
0;$i<
count
($arr);
$i++)}
}echo"";
print_r
($arr);
?>
插入排序<?php
$arr
=array(1
,5,2
,9,6
,3,4
);$len
=count
($arr);
for($i=
0;$i<
$len;$i
++)}if
($min
!=$i)}
echo"";
print_r
($arr);
?>
優化<?php
//插入排序
$arr
=array(4
,2,6
,8,9
,5);
$len
=count
($arr);
//1.確定要插入多少回(假設乙個陣列一次性插入到對的位置,同時對乙個位置假設是對的)
for($i=
1;$i<
$len;$i
++)else}}
echo'';
print_r
($arr);
?>
快遞排序//優化**
<?php
//插入排序
$arr
=array(4
,2,6
,8,9
,5);
$len
=count
($arr);
//1.確定要插入多少回(假設乙個陣列一次性插入到對的位置,同時對乙個位置假設是對的)
for($i=
1;$i<
$len;$i
++)else
}//判斷位置需要變動if(
$change)}
echo'';
print_r
($arr);
?>
歸併排序<?php
//快速排序
$arr
=array(1
,6,3
,4,9
,2,7
,8);
function
quicksort
($arr
)else
}//$left和$right陣列元素沒有排好序:遞迴點
$left
=quicksort
($left);
$right
=quicksort
($right);
return
array_merge
($left,(
array
)$arr[0
],$right);
}echo'';
print_r
(quicksort
($arr))
;?>
二路歸併
實現<?php
//php陣列排序演算法:合併演算法
//二路歸併
$arr1
=array(1
,3,5
);$arr2
=array(2
,4,6
);//取出乙個空陣列用於歸併空間
$arr3
=array()
;while
(count
($arr1)&&
count
($arr2))
//合併結果
echo"";
print_r
(array_merge
($arr3
,$arr1
,$arr2))
;?>
查詢排序<?php
$arr
=array(4
,7,2
,1,5
,9,3
);//歸併排序函式
function
mergesort
($arr
)//返回結果
return
array_merge($m
,$left
,$right);
}echo'';
print_r
(mergesort
($arr))
;?>
順序查詢
二分查詢<?php
//查詢演算法
//順序查詢
$arr
=array(1
,3,6
,8,23
,68,100);
//順序查詢:從陣列第乙個元素開始,挨個匹配
function
checkorder
($arr
,$num)}
return
false;}
var_dump
(checkorder
($arr,5
));?>
<?php
//二分查詢演算法
$arr
=array(1
,3,6
,8,23
,68,100);
$res
=100
;function
checkorder1
($arr
,$res
)//5.沒有找到if(
$arr
[$middle
]<
$res
)else
}return
false;}
var_dump
(checkorder1
($arr
,$res))
;?>
八大演算法思想
下面介紹一下最常用的八大演算法思想 一 比較 笨 的列舉演算法 基本思路 1 確定列舉物件 列舉範圍和判定條件 2 注意列舉可能的解,驗證每個節是否是問題的解 列舉演算法步驟 1 題解的可能範圍,補能遺漏任何乙個真正解,也要避免有重複 2 判斷是否真正解的方法 3 使可能解的範圍降至最小,以便提高解...
PHP實現八大演算法
交換函式 注意要按引用傳遞,否則無法真正交換兩個數的值 function exchange a,b 1 直接插入演算法 第一種實現 function insert sort arr return arr 第二種實現 function insert sort arr j return arr 2 希爾...
八大排序演算法思想介紹
1.插入排序 直接插入排序 希爾排序 2.選擇排序 簡單選擇排序 堆排序 3.交換排序 氣泡排序 快速排序 4.歸併排序 5.基數排序 不穩定排序 簡單選擇排序,快速排序,希爾排序,堆排序 穩定排序 氣泡排序,直接插入排序,歸併排序,奇數排序 一.插入排序 將第乙個和第二個元素排好序,然後將第3個元...