国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison développement back-end tutoriel php Collection d'algorithmes PHP classiques

Collection d'algorithmes PHP classiques

Dec 22, 2016 am 11:00 AM
Algorithme PHP

Les exemples de cet article résument les algorithmes PHP classiques. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants?:

1. Tout d'abord, dessinons un losange pour le plaisir. Beaucoup de gens l'ont dessiné dans des livres lorsqu'ils apprenaient le C. Dessinons-le en PHP et. dessinez-en la moitié.

Idée : une fois pour autant de lignes, puis une fois pour les espaces et astérisques à l'intérieur.

<?php
for($i=0;$i<=3;$i++){
  echo str_repeat(" ",3-$i);
  echo str_repeat("*",$i*2+1);
  echo &#39;<br/>&#39;;
}

2. Le tri à bulles, l'algorithme de base en C, trie un ensemble de nombres du plus petit au plus grand.

Idée?: Du petit au grand, le premier tour classe le plus petit, le deuxième tour classe le deuxième plus petit, le troisième tour classe le troisième plus petit, et ainsi de suite...

<?php
$arr = array(1,3,5,32,756,2,6);
$len = count($arr);
for ($i=0;$i<$len-1;$i++){
  for ($j=$i+1;$j<$len;$j++){
    if($arr[$i]>$arr[$j]){//從小到大
      $p = $arr[$i];
      $arr[$i] = $arr[$j];
      $arr[$j]= $p;
    }
  }
}
var_dump($arr);

3. Triangle Yang Hui, écrit en PHP.

Idée?: le premier et le dernier chiffre de chaque ligne sont 1, et il n'y a aucun changement. Le milieu est la somme de la première ligne et de la ligne de gauche. Cet algorithme est enregistré dans un tableau à deux dimensions. et il y a Cet algorithme peut également être implémenté en utilisant un tableau unidimensionnel. La sortie est ligne par ligne. Si vous êtes intéressé, vous pouvez l'écrire et jouer avec.

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

<?php
//每行的第一個(gè)和最后一個(gè)都為1,寫(xiě)了6行
 for($i=0; $i<6; $i++) {
  $a[$i][0]=1;
  $a[$i][$i]=1;
 }
//出除了第一位和最后一位的值,保存在數(shù)組中
 for($i=2; $i<6; $i++) {
  for($j=1; $j<$i; $j++) {
   $a[$i][$j] = $a[$i-1][$j-1]+$a[$i-1][$j];
  }
 }
//打印
 for($i=0; $i<6; $i++){
  for($j=0; $j<=$i; $j++) {
  echo $a[$i][$j].&#39; &#39;;
  }
  echo &#39;<br/>&#39;;
 }

4. Dans un ensemble de nombres, il est nécessaire d'insérer un nombre dans son ordre d'origine et de conserver la méthode de tri d'origine.

Idée?: trouvez la position qui est plus grande que le nombre à insérer, remplacez-la, puis décalez la position numéro un suivante.

<?php
$in = 2;
$arr = array(1,1,1,3,5,7);
$n = count($arr);
//如果要插入的數(shù)已經(jīng)最大,直接打印
if($arr[$n-1] < $in) {
  $arr[$n+1] = $in; print_r($arr);
  }
for($i=0; $i<$n; $i++) {
//找出要插入的位置
  if($arr[$i] >= $in){
    $t1= $arr[$i];
    $arr[$i] = $in;
//把后面的數(shù)據(jù)后移一位
    for($j=$i+1; $j<$n+1; $j++) {
      $t2 = $arr[$j];
      $arr[$j] = $t1;
      $t1 = $t2;
  }
//打印
  print_r($arr);
  die;
  }
}

5. Trier un ensemble de nombres (algorithme de tri rapide).

Idée?: divisez-le en deux parties par un seul tri, puis triez récursivement les deux parties, et enfin fusionnez-les.

<?php
function q($array) {
  if (count($array) <= 1) {return $array;}
//以$key為界,分成兩個(gè)子數(shù)組
  $key = $array[0];
  $l = array();
  $r = array();
//分別進(jìn)行遞歸排序,然后合成一個(gè)數(shù)組
  for ($i=1; $i<count($array); $i++) {
  if ($array[$i] <= $key) { $l[] = $array[$i]; }
  else { $r[] = $array[$i]; }
 }
  $l = q($l);
  $r = q($r);
  return array_merge($l, array($key), $r);
}
$arr = array(1,2,44,3,4,33);
print_r( q($arr) );

6. Trouvez l'élément dont vous avez besoin dans un tableau (algorithme de recherche binaire).

Idée?: utilisez une certaine valeur dans le tableau comme limite, puis effectuez une recherche récursive jusqu'à la fin.

<?php
function find($array, $low, $high, $k){
  if ($low <= $high){
  $mid = intval(($low+$high)/2);
    if ($array[$mid] == $k){
    return $mid;
  }elseif ($k < $array[$mid]){
    return find($array, $low, $mid-1, $k);
    }else{
    return find($array, $mid+1, $high, $k);
    }
  }
  die(&#39;Not have...&#39;);
}
//test
$array = array(2,4,3,5);
$n = count($array);
$r = find($array,0,$n,5)

7. Fusionner plusieurs tableaux sans array_merge() La question vient du forum.

Idée?: Parcourez chaque tableau et reconstruisez un nouveau tableau.

<?php
function t(){
  $c = func_num_args()-1;
  $a = func_get_args();
  //print_r($a);
  for($i=0; $i<=$c; $i++){
    if(is_array($a[$i])){
      for($j=0; $j<count($a[$i]); $j++){
        $r[] = $a[$i][$j];
      }
    } else {
      die(&#39;Not a array!&#39;);
    }
  }
  return $r;
}
//test
print_r(t(range(1,4),range(1,4),range(1,4)));
echo &#39;<br/>&#39;;
$a = array_merge(range(1,4),range(1,4),range(1,4));
print_r($a);

8. Demandez une vache l'Année du Buffle : Il y a une vache qui peut donner naissance à 4 ans, une vache tous les année, et toute la progéniture sera la même vache. Elles sont stérilisées à l’age de 15 ans, ne sont plus fertiles et meurent à l’age de 20 ans. Combien y aura-t-il de vaches dans n ans ?

<?php
function t($n) {
    static $num = 1
    for($j=1; $j<=$n; $j++){
        if($j>=4 && $j<15) {$num++;t($n-$j);}
        if($j==20){$num--;}
     }
     return $num;
}
//test
echo t(8);

====================Autres algorithmes======= = ==================

Tri à bulles — O(n2)

$data = array(3,5,9,32,2,1,2,1,8,5);
dump($data);
BubbleSort($data);
dump($data);
function BubbleSort(& $arr)
{
$limit = count($arr);
for($i=1; $i<$limit; $i++)
{
  for($p=$limit-1; $p>=$i; $p--)
  {
  if($arr[$p-1] > $arr[$p])
  {
   $temp = $arr[$p-1];
   $arr[$p-1] = $arr[$p];
   $arr[$p] = $temp;
  }
  }
}
}
function dump( $d )
{
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($d);
echo &#39;
'; }

Tri par insertion (tri par insertion) — O(n2)

$data = array(6,13,21,99,18,2,25,33,19,84);
$nums = count($data)-1;
dump( $data );
InsertionSort($data,$nums);
dump( $data );
function InsertionSort(& $arr,$n )
{
for( $i=1; $i<=$n; $i++ )
{
  $tmp = $arr[$i];
  for( $j = $i; $j>0 && $arr[$j-1]>$tmp; $j-- )
  {
  $arr[$j] = $arr[$j-1];
  }
  $arr[$j] = $tmp;
}
}
function dump( $d )
{
echo &#39;<pre class="brush:php;toolbar:false">&#39;;print_r($d);echo &#39;
'; }

Tri par colline (tri par coquille) — O(n log n)

$data = array(6,13,21,99,18,2,25,33,19,84);
$nums = count($data);
dump( $data );
ShellSort($data,$nums);
dump( $data );
function ShellSort(& $arr,$n )
{
for( $increment = intval($n/2); $increment > 0; $increment = intval($increment/2) )
{
  for( $i=$increment; $i<$n; $i++ )
  {
  $tmp = $arr[$i];
  for( $j = $i; $j>= $increment; $j -= $increment )
   if( $tmp < $arr[ $j-$increment ] )
   $arr[$j] = $arr[$j-$increment];
   else
   break;
  $arr[$j] = $tmp;
  }
}
}
function dump( $d )
{
echo &#39;<pre class="brush:php;toolbar:false">&#39;;print_r($d);echo &#39;
'; }

tri rapide (tri rapide) — O(n log n)

$data = array(6,13,21,99,18,2,25,33,19,84);
dump($data);
quicks($data,0,count($data)-1);
dump($data);
function dump( $data){
echo &#39;<pre class="brush:php;toolbar:false">&#39;;print_r($data);echo &#39;
'; } function QuickSort(& $arr,$left,$right) { $l = $left; $r = $right; $pivot = intval(($r+$l)/2); $p = $arr[$pivot]; do { while(($arr[$l] < $p) && ($l < $right)) $l++; while(($arr[$r] > $p) && ($r > $left)) $r--; if($l <= $r) { $temp = $arr[$l]; $arr[$l] = $arr[$r]; $arr[$r] = $temp; $l++; $r--; } } while($l <= $r); if($left < $r) QuickSort(&$arr,$left,$r); if($l < $right) QuickSort(&$arr,$l,$right); }

============================================== === ===

Tri à bulles?: échangez les valeurs par paires, avec la plus petite valeur à l'extrême gauche, tout comme la bulle la plus claire en haut. échangez une fois la colonne entière de nombres, avec le plus petit nombre à l'extrême gauche. à chaque fois, vous pouvez obtenir le plus petit nombre parmi les nombres restants. Les nombres ??sautés?? forment un intervalle ordonné et les valeurs restantes forment un An. intervalle non ordonné, et la valeur de chaque élément dans l’intervalle ordonné est inférieure à celle de l’intervalle non ordonné.

Tri rapide?: numéro de base, tableaux gauche et droit, appel récursif, fusion.

Tri par insertion?: La plage de tri est divisée en deux parties, la gauche est ordonnée et la droite n'est pas ordonnée. Prenez le premier élément de la plage de droite et insérez-le dans la plage de gauche si cet élément est plus grand que. l'élément le plus à droite de la plage de gauche, laissez-le là où il est, si cet élément est plus petit que l'élément le plus à droite de la plage de gauche, il sera inséré à la position d'origine de l'élément le plus à droite, et en même temps, l'élément le plus à droite. L'élément sera décalé d'une position vers la droite, la calculatrice sera réduite d'une unité et l'élément précédent sera à nouveau comparé jusqu'à ce que l'élément précédent soit plus petit que l'élément précédent. Répétez les étapes ci-dessus jusqu'à ce que l'élément inséré soit plus petit.

Faites attention au traitement des valeurs de point final de l'intervalle, et l'indice du premier élément du tableau est 0.

<?php
//PHP常用排序算法
function bubblesort ($array)
{
$n = count ($array);
for ($i = 0; $i < $n; $i++)
{
for ($j = $n - 2; $j >= $i; $j--) //[0,i-1] [i,n-1]
{
if ($array[$j] > $array[$j + 1])
{
$temp = $array[$j];
$array[$j] = $array[$j + 1];
$array [$j + 1] = $temp;
}
}
}
return $array;
}
$array = array (3,6,1,5,9,0,4,6,11);
print_r (bubblesort ($array));
echo &#39;<hr>&#39;;
function quicksort ($array)
{
$n = count ($array);
if ($n <= 1)
{
return $array;
}
$key = $array[&#39;0&#39;];
$array_r = array ();
$array_l = array ();
for ($i = 1; $i < $n; $i++)
{
if ($array[$i] > $key)
{
$array_r[] = $array[$i];
}
else
{
$array_l[] = $array[$i];
}
}
$array_r = quicksort ($array_r);
$array_l = quicksort ($array_l);
$array = array_merge ($array_l, array($key), $array_r);
return $array;
}
print_r (quicksort ($array));
echo &#39;<hr>&#39;;
function insertsort ($array)
{
$n = count ($array);
for ($i = 1; $i < $n; $i++) //[0,i-1] [i,n]
{
$j = $i - 1;
$temp = $array[$i];
while ($array[$j] > $temp)
{
$array[$j + 1] = $array[$j];
$array[$j] = $temp;
$j--;
}
}
return $array;
}
print_r (insertsort ($array));
?>

==== ===================================

<?php
/*
【插 入排序(一維數(shù)組)】
【基本思想】:每次將一個(gè)待排序的數(shù)據(jù)元素,插入到前面已經(jīng)排好序的數(shù)列中的適當(dāng)位置,使數(shù)列依然有序;直到待排序數(shù)據(jù)元素 全部插入完為止。
【示例】:
[初始關(guān)鍵字] [49] 38 65 97 76 13 27 49
J=2(38) [38 49] 65 97 76 13 27 49
J=3(65) [38 49 65] 97 76 13 27 49
J=4(97) [38 49 65 97] 76 13 27 49
J=5(76) [38 49 65 76 97] 13 27 49
J=6(13) [13 38 49 65 76 97] 27 49
J=7(27) [13 27 38 49 65 76 97] 49
J=8(49) [13 27 38 49 49 65 76 97]
*/
function insert_sort($arr){
$count = count($arr);
for($i=1; $i<$count; $i++){
  $tmp = $arr[$i];
  $j = $i - 1;
  while($arr[$j] > $tmp){
   $arr[$j+1] = $arr[$j];
   $arr[$j] = $tmp;
   $j--;
  }
}
return $arr;
}
/*
【選擇排序(一維數(shù)組)】
【基 本思想】:每一趟從待排序的數(shù)據(jù)元素中選出最小(或最大)的一個(gè)元素,順序放在已排好序的數(shù)列的最后,直到全部待排序的數(shù)據(jù)元素排完。
【示例】:
[初 始關(guān)鍵字] [49 38 65 97 76 13 27 49]
第一趟排序后 13 [38 65 97 76 49 27 49]
第 二趟排序后 13 27 [65 97 76 49 38 49]
第三趟排序后 13 27 38 [97 76 49 65 49]
第 四趟排序后 13 27 38 49 [49 97 65 76]
第五趟排序后 13 27 38 49 49 [97 97 76]
第 六趟排序后 13 27 38 49 49 76 [76 97]
第七趟排序后 13 27 38 49 49 76 76 [ 97]
最 后排序結(jié)果 13 27 38 49 49 76 76 97
*/
function select_sort($arr){
$count = count($arr);
for($i=0; $i<$count; $i++){
  $k = $i;
  for($j=$i+1; $j<$count; $j++){
    if ($arr[$k] > $arr[$j])
      $k = $j;
}
  if($k != $i){
    $tmp = $arr[$i];
    $arr[$i] = $arr[$k];
    $arr[$k] = $tmp;
  }
}
return $arr;
}
/*
【冒泡排序(一維數(shù)組) 】
【基本思想】:兩兩比較待排序數(shù)據(jù)元素的大小,發(fā)現(xiàn)兩個(gè)數(shù)據(jù)元素的次序 相反時(shí)即進(jìn)行交換,直到?jīng)]有反序的數(shù)據(jù)元素為止。
【排序過(guò)程】:設(shè)想被排序的數(shù)組R[1..N]垂直豎立,將每個(gè)數(shù)據(jù)元素看作有重量的氣泡,根據(jù) 輕氣泡不能在重氣泡之下的原則,
從下往上掃描數(shù)組R,凡掃描到違反本原則的輕氣泡,就使其向上"漂浮",如此反復(fù)進(jìn)行,直至最后任何兩個(gè)氣泡都是 輕者在上,重者在下為止。
【示例】:
49 13 13 13 13 13 13 13
38 49 27 27 27 27 27 27
65 38 49 38 38 38 38 38
97 65 38 49 49 49 49 49
76 97 65 49 49 49 49 49
13 76 97 65 65 65 65 65
27 27 76 97 76 76 76 76
49 49 49 76 97 97 97 97
*/
function bubble_sort($array){
$count = count($array);
if ($count <= 0) return false;
for($i=0; $i<$count; $i++){
  for($j=$count-1; $j>$i; $j--){
   if ($array[$j] < $array[$j-1]){
    $tmp = $array[$j];
    $array[$j] = $array[$j-1];
    $array[$j-1] = $tmp;
   }
  }
}
return $array;
}
/*
【快速排序(一 維數(shù)組)】
【基本思想】:在當(dāng)前無(wú)序區(qū)R[1..H]中任取一個(gè)數(shù)據(jù)元素作為比較的"基準(zhǔn)"(不妨記為X),
用此基準(zhǔn)將當(dāng)前無(wú)序區(qū)劃分為 左右兩個(gè)較小的無(wú)序區(qū):R[1..I-1]和R[I 1..H],且左邊的無(wú)序子區(qū)中數(shù)據(jù)元素均小于等于基準(zhǔn)元素,
右邊的無(wú)序子區(qū)中數(shù)據(jù)元素均大 于等于基準(zhǔn)元素,而基準(zhǔn)X則位于最終排序的位置上,即R[1..I-1]≤X.Key≤R[I 1..H](1≤I≤H),
當(dāng)R[1..I-1] 和R[I 1..H]均非空時(shí),分別對(duì)它們進(jìn)行上述的劃分過(guò)程,直至所有無(wú)序子區(qū)中的數(shù)據(jù)元素均已排序?yàn)橹埂?
【示例】:
初始關(guān)鍵字 [49 38 65 97 76 13 27 49]
第一次交換后 [27 38 65 97 76 13 49 49]
第二次交換后 [27 38 49 97 76 13 65 49]
J向左掃描,位置不變,第三次交換后 [27 38 13 97 76 49 65 49]
I向右掃描,位置不變,第四次交換后 [27 38 13 49 76 97 65 49]
J向左掃描 [27 38 13 49 76 97 65 49]
(一次劃分過(guò)程)
初始關(guān)鍵字 [49 38 65 97 76 13 27 49]
一趟排序之后 [27 38 13] 49 [76 97 65 49]
二趟排序之后 [13] 27 [38] 49 [49 65]76 [97]
三趟排序之后 13 27 38 49 49 [65]76 97
最后的排序結(jié)果 13 27 38 49 49 65 76 97
各趟排序之后的狀態(tài)
*/
function quick_sort($array){
if (count($array) <= 1) return $array;
$key = $array[0];
$left_arr = array();
$right_arr = array();
for ($i=1; $i<count($array); $i++){
  if ($array[$i] <= $key)
   $left_arr[] = $array[$i];
  else
   $right_arr[] = $array[$i];
}
$left_arr = quick_sort($left_arr);
$right_arr = quick_sort($right_arr);
return array_merge($left_arr, array($key), $right_arr);
}
/*打印數(shù)組全部?jī)?nèi)容*/
function display_arr($array){
$len = count($array);
for($i = 0; $i<$len; $i++){
  echo $array[$i].&#39; &#39;;
}
echo &#39;<br />&#39;;
}
/*
幾種排序算法的比較和選擇
1. 選取排序方法需要考慮的因素:
(1) 待排序的元素?cái)?shù)目n;
(2) 元素本身信息量的大??;
(3) 關(guān)鍵字的結(jié)構(gòu)及其分布情況;
(4) 語(yǔ)言工具的條件,輔助空間的大小等。
2. 小結(jié):
(1) 若n較小(n <= 50),則可以采用直接插入排序或直接選擇排序。由于直接插入排序所需的記錄移動(dòng)操作較直接選擇排序多,因而當(dāng)記錄本身信息量較大時(shí),用直接選擇排序較 好。
(2) 若文件的初始狀態(tài)已按關(guān)鍵字基本有序,則選用直接插入或冒泡排序?yàn)橐恕?
(3) 若n較大,則應(yīng)采用時(shí)間復(fù)雜度為O(nlog2n)的排序方法:快速排序、堆排序或歸并排序。 快速排序是目前基于比較的內(nèi)部排序法中被認(rèn)為是最好的方法。
(4) 在基于比較排序方法中,每次比較兩個(gè)關(guān)鍵字的大小之后,僅僅出現(xiàn)兩種可能的轉(zhuǎn)移,因此可以用一棵二叉樹(shù)來(lái)描述比較判定過(guò)程,由此可以證明:當(dāng)文件的n個(gè)關(guān) 鍵字隨機(jī)分布時(shí),任何借助于"比較"的排序算法,至少需要O(nlog2n)的時(shí)間。
(5) 當(dāng)記錄本身信息量較大時(shí),為避免耗費(fèi)大量時(shí)間移動(dòng)記錄,可以用鏈表作為存儲(chǔ)結(jié)構(gòu)。
*/
/*排序測(cè)試*/
$a = array(&#39;12&#39;,&#39;4&#39;,&#39;16&#39;,&#39;8&#39;,&#39;13&#39;,&#39;20&#39;,&#39;5&#39;,&#39;32&#39;);
echo &#39;The result of insert sort:&#39;;
$insert_a = insert_sort($a);
display_arr($insert_a);
echo &#39;The result of select sort:&#39;;
$select_a = select_sort($a);
display_arr($select_a);
echo &#39;The result of bubble sort:&#39;;
$bubble_a = bubble_sort($a);
display_arr($bubble_a);
echo &#39;The result of bubble sort:&#39;;
$quick_a = quick_sort($a);
display_arr($quick_a);
?>

/**
 * 排列組合
 * 采用二進(jìn)制方法進(jìn)行組合的選擇,如表示5選3時(shí),只需有3位為1就可以了,所以可得到的組合是 01101 11100 00111 10011 01110等10種組合
 *
 * @param 需要排列的數(shù)組 $arr
 * @param 最小個(gè)數(shù) $min_size
 * @return 滿足條件的新數(shù)組組合
 */
function pl($arr,$size=5) {
 $len = count($arr);
 $max = pow(2,$len);
 $min = pow(2,$size)-1;
 $r_arr = array();
 for ($i=$min; $i<$max; $i++){
  $count = 0;
  $t_arr = array();
  for ($j=0; $j<$len; $j++){
  $a = pow(2, $j);
  $t = $i&$a;
  if($t == $a){
   $t_arr[] = $arr[$j];
   $count++;
  }
  }
  if($count == $size){
  $r_arr[] = $t_arr;
  }
 }
 return $r_arr;
 }
$pl = pl(array(1,2,3,4,5,6,7),5);
var_dump($pl);
//遞歸算法
//階乘
function f($n){
  if($n == 1 || $n == 0){
    return 1;
  }else{
    return $n*f($n-1);
  }
}
echo f(5);
//遍歷目錄
function iteral($path){
  $filearr = array();
  foreach (glob($path.&#39;\*&#39;) as $file){
    if(is_dir($file)){
      $filearr = array_merge($filearr,iteral($file));
    }else{
      $filearr[] = $file;
    }
  }
  return $filearr;
}
var_dump(iteral(&#39;d:\www\test&#39;));

J'espère que cet article sera utile à tout le monde dans la programmation PHP.

Pour plus d'articles liés aux algorithmes PHP classiques, veuillez faire attention au site Web PHP chinois?!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1502
276
Quels sont les algorithmes courants dans la programmation PHP ? Quels sont les algorithmes courants dans la programmation PHP ? Jun 12, 2023 am 08:30 AM

En programmation PHP, les algorithmes font partie intégrante. La ma?trise des algorithmes courants peut non seulement améliorer l’efficacité du code, mais également faciliter la conception ultérieure des programmes. Les algorithmes suivants sont courants dans la programmation PHP : Algorithme de tri L'algorithme de tri fait référence à l'organisation d'un ensemble de données dans une séquence ordonnée selon certaines règles. Dans la programmation PHP, les algorithmes de tri couramment utilisés incluent le tri à bulles, le tri par insertion, le tri par sélection, le tri rapide, etc. Parmi eux, le tri rapide est l'algorithme de tri ayant la complexité temporelle la plus faible et convient au traitement de données à grande échelle. algorithme de recherche algorithme de recherche

Algorithme de tri et de recherche de tableaux en PHP Algorithme de tri et de recherche de tableaux en PHP Jun 23, 2023 am 09:45 AM

PHP est un langage de programmation très populaire qui prend en charge divers types de données et algorithmes, dont les algorithmes de tri de tableaux et de recherche sont des éléments fondamentaux et importants. Cet article présentera les algorithmes de tri et de recherche de tableaux couramment utilisés en PHP, ainsi que leurs scénarios d'application et leur analyse d'efficacité. 1. Tri de tableaux PHP propose une variété de méthodes de tri de tableaux, notamment le tri à bulles, le tri par insertion, le tri par sélection, le tri rapide, le tri par fusion, etc. Ce qui suit est une introduction et un exemple de code pour plusieurs algorithmes couramment utilisés?:?Tri à bulles (BubbleSort)

Comprendre les structures de données et les algorithmes PHP Comprendre les structures de données et les algorithmes PHP May 24, 2023 am 08:15 AM

PHP est un langage de script largement utilisé dans le développement Web et il s'améliore de plus en plus pour créer des sites Web dynamiques. Dans le développement Web, les structures de données et les algorithmes ne sont pas moins importants que d’autres domaines de programmation, et leur impact sur l’efficacité de l’exécution des programmes est particulièrement important. En particulier dans les scénarios impliquant de grandes quantités de stockage et de traitement de données, ou des exigences élevées en matière de performances des programmes, les structures de données et les algorithmes sont devenus un élément incontournable. Cet article présente principalement certaines structures de données et algorithmes couramment utilisés en PHP. 1. Tableau de structure des données Le tableau PHP est très courant

Compréhension approfondie des algorithmes de base de PHP et Vue dans la fonction de cartographie cérébrale Compréhension approfondie des algorithmes de base de PHP et Vue dans la fonction de cartographie cérébrale Aug 15, 2023 pm 01:00 PM

Compréhension approfondie des algorithmes de base de PHP et Vue dans la fonction de cartographie cérébrale Introduction : à l'ère moderne d'Internet, nous utilisons souvent diverses applications pour nous aider à organiser et à gérer les informations. La cartographie cérébrale est une manière courante et pratique d’organiser l’information, qui peut afficher graphiquement des processus de réflexion complexes. Dans cet article, nous nous concentrerons sur les algorithmes de base de PHP et Vue dans la fonction de cartographie cérébrale et donnerons des exemples de code. 1. Caractéristiques des cartes mentales. Les cartes mentales sont un type de carte cérébrale qui prend un thème central comme noyau et affiche les informations liées à ce thème à travers une structure arborescente.

Comment représenter des connaissances et générer automatiquement des algorithmes en PHP ? Comment représenter des connaissances et générer automatiquement des algorithmes en PHP ? May 22, 2023 pm 08:10 PM

Avec la popularité d’Internet et l’expansion continue des applications, le développement de langages de programmation est devenu de plus en plus important. En tant que langage de programmation très populaire, PHP est également en constante évolution. Dans le processus de programmation avec PHP, les développeurs PHP peuvent être confrontés à la nécessité de représenter certaines connaissances et de générer automatiquement des algorithmes. Alors, comment représenter les connaissances et générer automatiquement des algorithmes en PHP ? Cet article en discutera ci-dessous. 1. Représentation des connaissances La représentation des connaissances est un enjeu très important dans le domaine de l'intelligence artificielle. Savoir

Analyse de l'algorithme PHP?: Comment utiliser un algorithme de programmation dynamique pour résoudre le problème du sac à dos 0-1?? Analyse de l'algorithme PHP?: Comment utiliser un algorithme de programmation dynamique pour résoudre le problème du sac à dos 0-1?? Sep 19, 2023 pm 12:33 PM

Analyse de l'algorithme PHP?: Comment utiliser un algorithme de programmation dynamique pour résoudre le problème du sac à dos 0-1?? Introduction : La programmation dynamique est une idée algorithmique couramment utilisée pour résoudre des problèmes d'optimisation. Dans le développement de programmes, le problème du sac à dos 0-1 est un scénario classique d’application de programmation dynamique. Cet article explique comment utiliser PHP pour écrire un algorithme de programmation dynamique afin de résoudre le problème du sac à dos 0-1 et fournit des exemples de code spécifiques. Quel est le problème du sac à dos 0-1?? Le problème du sac à dos 0-1 est un problème d’optimisation combinatoire classique. Le problème se pose comme suit : Il existe un sac à dos d’une capacité de C. Il y a n objets

Analyse d'algorithme PHP : Comment utiliser un algorithme de recherche binaire pour localiser rapidement des éléments dans un tableau ordonné ? Analyse d'algorithme PHP : Comment utiliser un algorithme de recherche binaire pour localiser rapidement des éléments dans un tableau ordonné ? Sep 19, 2023 pm 01:14 PM

Analyse d'algorithme PHP : Comment utiliser un algorithme de recherche binaire pour localiser rapidement des éléments dans un tableau ordonné ? Présentation?: L'algorithme de recherche binaire est un algorithme de recherche efficace qui convient à la recherche d'éléments spécifiques dans un tableau ordonné. Cet article présentera en détail le principe de l'algorithme de recherche binaire et donnera des exemples de code PHP. Principe : L'algorithme de recherche binaire localise rapidement l'élément cible en réduisant de moitié la plage de recherche à plusieurs reprises. Le processus est le suivant?: d'abord, limitez la plage de recherche au début et à la fin du tableau?; puis calculez l'index de l'élément du milieu et comparez-le avec l'élément cible?;

Algorithmes et structures de données en PHP Algorithmes et structures de données en PHP May 25, 2023 am 08:51 AM

PHP est un langage de développement largement utilisé pour le développement d'applications Web. Cependant, les applications Web doivent souvent traiter de grandes quantités de données, y compris le traitement, le stockage et les requêtes de données, etc. Par conséquent, l’application d’algorithmes et de structures de données en PHP est une technologie très critique. Un algorithme est une méthode générale utilisée en programmation informatique pour résoudre des problèmes. En programmation, nous résolvons des problèmes en concevant et en mettant en ?uvre des algorithmes pour améliorer l'efficacité, la maintenabilité et l'évolutivité de nos programmes. Les algorithmes couramment utilisés incluent le tri, la recherche, la division pour régner, la gourmandise, etc.

See all articles