Rumah >pembangunan bahagian belakang >masalah PHP >Ringkaskan kaedah pelaksanaan tiga algoritma PHP biasa

Ringkaskan kaedah pelaksanaan tiga algoritma PHP biasa

PHPz
PHPzasal
2023-04-03 17:55:40875semak imbas

PHP ialah bahasa skrip berkuasa yang digunakan secara meluas dalam bidang pembangunan web. Selain digunakan dalam pembangunan laman web, PHP juga boleh digunakan untuk melaksanakan pelbagai algoritma dan struktur data. Dalam artikel ini, kami akan memperkenalkan tiga algoritma biasa, termasuk isihan gelembung, isihan pantas dan carian binari serta cara melaksanakannya dalam PHP.

1. Isih gelembung

Isih gelembung ialah algoritma pengisihan mudah yang mengisih dengan terus membandingkan elemen bersebelahan dan menukarnya mengikut tertib. Kerumitan masa algoritma ini ialah O(n^2), dengan n ialah panjang tatasusunan.

Dalam PHP, kita boleh menggunakan kod berikut untuk melaksanakan isihan gelembung:

function bubbleSort($arr) { 
  $len = count($arr); 
  for ($i = 0; $i < $len; $i++) { 
    for ($j = $len - 1; $j > $i; $j--) { 
      if ($arr[$j] < $arr[$j - 1]) { 
        $temp = $arr[$j]; 
        $arr[$j] = $arr[$j - 1]; 
        $arr[$j - 1] = $temp; 
      } 
    } 
  } 
  return $arr; 
}

2. Isih pantas

Isih cepat ialah algoritma pengisihan yang cekap tatasusunan kepada dua sub-tatasusunan, lebih kecil dan lebih besar, dan kemudian menyusunnya secara rekursif. Kerumitan masa algoritma ini ialah O(nlogn), di mana n ialah panjang tatasusunan.

Dalam PHP, kita boleh menggunakan kod berikut untuk melaksanakan pengisihan pantas:

function quickSort($arr) { 
  if (count($arr) <= 1) { 
    return $arr; 
  } 
  $pivot = $arr[0]; 
  $left = array(); 
  $right = array(); 
  for ($i = 1; $i < count($arr); $i++) { 
    if ($arr[$i] < $pivot) { 
      $left[] = $arr[$i]; 
    } else { 
      $right[] = $arr[$i]; 
    } 
  } 
  return array_merge(quickSort($left), array($pivot), quickSort($right)); 
}

3 Carian binari

Carian binari ialah algoritma carian yang cekap, yang menggunakan Divide. tatasusunan yang diisih kepada dua sub-tatasusunan, yang lebih kecil dan yang lebih besar, dan mencari sub-tatasusunan secara rekursif di mana elemen sasaran terletak sehingga elemen sasaran ditemui atau ditentukan bahawa elemen sasaran tidak wujud. Kerumitan masa algoritma ini ialah O(logn), dengan n ialah panjang tatasusunan.

Dalam PHP, kita boleh menggunakan kod berikut untuk melaksanakan carian binari:

function binarySearch($arr, $target) {
  $left = 0;
  $right = count($arr) - 1;
  while ($left <= $right) {
    $mid = floor(($left + $right) / 2);
    if ($arr[$mid] == $target) {
      return $mid;
    } else if ($arr[$mid] > $target) {
      $right = $mid - 1;
    } else {
      $left = $mid + 1;
    }
  }
  return -1;
}

Ringkasnya, PHP bukan sahaja boleh digunakan untuk melaksanakan pembangunan laman web, tetapi juga boleh digunakan untuk melaksanakan pelbagai algoritma dan struktur data. Dalam pembangunan sebenar, kita boleh memilih algoritma dan struktur data yang sesuai mengikut keperluan sebenar untuk mengoptimumkan prestasi dan kecekapan program.

Atas ialah kandungan terperinci Ringkaskan kaedah pelaksanaan tiga algoritma PHP biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn