Rumah pembangunan bahagian belakang tutorial php Analisis algoritma PHP: Bagaimana untuk menggunakan algoritma carian binari untuk mencari elemen dalam tatasusunan tertib dengan cepat?

Analisis algoritma PHP: Bagaimana untuk menggunakan algoritma carian binari untuk mencari elemen dalam tatasusunan tertib dengan cepat?

Sep 19, 2023 pm 01:14 PM
algoritma php carian binari susunan tersusun

Analisis algoritma PHP: Bagaimana untuk menggunakan algoritma carian binari untuk mencari elemen dalam tatasusunan tertib dengan cepat?

Analisis algoritma PHP: Bagaimana untuk menggunakan algoritma carian binari untuk mencari elemen dalam tatasusunan tertib dengan cepat?

Ikhtisar:
Algoritma carian binari ialah algoritma carian yang cekap, yang sesuai untuk mencari elemen tertentu dalam tatasusunan tersusun. Artikel ini akan memperkenalkan prinsip algoritma carian binari secara terperinci dan memberikan contoh kod PHP.

  1. Prinsip:
    Algoritma carian binari dengan cepat mencari elemen sasaran dengan berulang kali mengurangkan julat carian sebanyak separuh. Prosesnya adalah seperti berikut:
  2. Pertama, sempitkan julat carian ke permulaan dan akhir tatasusunan
  3. Kemudian, hitung indeks elemen tengah dan bandingkan dengan elemen sasaran
  4. Jika elemen sasaran adalah sama kepada elemen tengah, kembalikan kejayaan carian terus ;
  5. Jika elemen sasaran lebih kecil daripada elemen tengah, ini bermakna elemen sasaran berada di sebelah kiri elemen tengah, dan julat carian akan dikecilkan ke kiri separuh;
  6. Jika elemen sasaran lebih besar daripada elemen tengah, ia bermakna elemen sasaran berada di sebelah kanan elemen tengah, dan carian akan Julat dikurangkan kepada separuh kanan
  7. Ulang perkara di atas langkah sehingga elemen sasaran ditemui, atau julat carian kosong, menunjukkan bahawa carian gagal.
  8. Contoh kod:
    Berikut ialah contoh kod carian binari yang dilaksanakan dalam PHP:
function binarySearch($arr, $target) {
    $left = 0;                              // 查找范围的左边界
    $right = count($arr) - 1;               // 查找范围的右边界

    while ($left <= $right) {
        $mid = floor(($left + $right) / 2); // 计算中间元素的索引

        if ($arr[$mid] == $target) {
            return $mid;                    // 找到目标元素,返回索引
        } elseif ($arr[$mid] < $target) {
            $left = $mid + 1;               // 目标元素在中间元素的右侧
        } else {
            $right = $mid - 1;              // 目标元素在中间元素的左侧
        }
    }

    return -1;                              // 查找失败,返回-1
}

// 示例用法
$sortedArray = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19];
$targetElement = 11;
$result = binarySearch($sortedArray, $targetElement);

if ($result == -1) {
    echo "目标元素 $targetElement 不存在于数组中。";
} else {
    echo "目标元素 $targetElement 的索引是 $result。";
}
Salin selepas log masuk

Dalam contoh di atas, kami menentukan dua pembolehubah bernama binarySearch的函数来实现二分查找。函数接受两个参数:有序数组$arr和目标元素$target。函数运行的过程中,使用了$left$right untuk mewakili sempadan kiri dan kanan julat carian, dengan melaraskan secara berterusan Sempadan sempitkan skop carian dan akhirnya cari elemen sasaran atau tentukan ia tidak wujud.

Akhir sekali, kami menentukan contoh penggunaan yang menunjukkan cara menggunakan algoritma carian binari untuk mencari elemen tertentu dalam tatasusunan tersusun dan mengeluarkan hasilnya.

Kesimpulan:
Algoritma carian binari ialah algoritma carian yang cekap, sesuai untuk mencari elemen tertentu dalam tatasusunan tersusun. Dengan terus menyempitkan skop carian, carian binari boleh mengesan elemen sasaran dengan cepat. Dalam pembangunan sebenar, kami boleh menggabungkan algoritma carian binari untuk reka bentuk kod mengikut keperluan untuk meningkatkan kecekapan carian.

【Bilangan perkataan: 451 patah perkataan】

Atas ialah kandungan terperinci Analisis algoritma PHP: Bagaimana untuk menggunakan algoritma carian binari untuk mencari elemen dalam tatasusunan tertib dengan cepat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menulis algoritma carian binari menggunakan C# Bagaimana untuk menulis algoritma carian binari menggunakan C# Sep 19, 2023 pm 12:42 PM

Cara menggunakan C# untuk menulis algoritma carian binari Algoritma carian binari ialah algoritma carian yang cekap yang mencari kedudukan elemen tertentu dalam tatasusunan tertib, dengan kerumitan masa O(logN). Dalam C#, kita boleh menulis algoritma carian binari melalui langkah-langkah berikut. Langkah 1: Sediakan data Mula-mula, kita perlu menyediakan tatasusunan yang diisih sebagai data sasaran untuk carian. Katakan kita ingin mencari kedudukan elemen tertentu dalam tatasusunan. int[]data={1,3,5,7,9,11,13

Apakah algoritma biasa dalam pengaturcaraan PHP? Apakah algoritma biasa dalam pengaturcaraan PHP? Jun 12, 2023 am 08:30 AM

Dalam pengaturcaraan PHP, algoritma adalah bahagian penting. Menguasai algoritma biasa bukan sahaja boleh meningkatkan kecekapan kod, tetapi juga membantu dengan reka bentuk program seterusnya. Berikut ialah algoritma biasa dalam pengaturcaraan PHP: Algoritma pengisihan Algoritma pengisihan merujuk kepada penyusunan set data ke dalam urutan tersusun mengikut peraturan tertentu. Dalam pengaturcaraan PHP, algoritma pengisihan yang biasa digunakan termasuk jenis gelembung, isihan sisipan, isihan pemilihan, isihan cepat, dsb. Antaranya, isihan pantas ialah algoritma pengisihan dengan kerumitan masa yang paling rendah dan sesuai untuk memproses data berskala besar. algoritma carian algoritma carian

Program carian binari yang ditulis dalam bahasa C, menggunakan pthread untuk pemprosesan berbilang benang Program carian binari yang ditulis dalam bahasa C, menggunakan pthread untuk pemprosesan berbilang benang Aug 26, 2023 pm 12:45 PM

Kami tahu bahawa kaedah carian binari adalah algoritma pengisihan yang paling sesuai dan berkesan. Algoritma ini berfungsi pada urutan yang disusun. Algoritmanya mudah, ia hanya mencari elemen dari tengah, kemudian membahagikan senarai kepada dua bahagian dan bergerak ke subsenarai kiri atau subsenarai kanan. Kami tahu algoritmanya. Sekarang kita akan melihat cara menggunakan teknik carian binari dalam persekitaran berbilang benang. Bilangan benang bergantung pada bilangan teras yang terdapat dalam sistem. Mari kita lihat kod untuk mendapatkan idea. Contoh#include<iostream>#defineMAX16#defineMAX_THREAD4usingnamespacestd;//placearr,keyandothervariabl

Bagaimana untuk melaksanakan algoritma carian binari menggunakan Python? Bagaimana untuk melaksanakan algoritma carian binari menggunakan Python? Sep 20, 2023 pm 01:24 PM

Bagaimana untuk melaksanakan algoritma carian binari menggunakan Python? Algoritma carian binari, juga dikenali sebagai algoritma carian binari, ialah algoritma carian yang cekap. Ia berfungsi pada tatasusunan atau senarai tersusun, mengecilkan carian dengan membandingkan nilai sasaran kepada elemen di tengah tatasusunan. Berikut akan memperkenalkan cara melaksanakan algoritma carian binari dalam Python dan memberikan contoh kod khusus. Idea algoritma: Bandingkan nilai sasaran dengan elemen di tengah tatasusunan jika ia sama, kembalikan kedudukan elemen jika nilai sasaran lebih besar daripada elemen di tengah, kemudian di sebelah kanan;

Bagaimana untuk mencari elemen terkecil dalam tatasusunan menggunakan algoritma carian binari dalam bahasa C? Bagaimana untuk mencari elemen terkecil dalam tatasusunan menggunakan algoritma carian binari dalam bahasa C? Aug 25, 2023 pm 08:37 PM

Bahasa pengaturcaraan C menyediakan dua teknik carian. Mereka adalah seperti berikut: Carian Linear Carian Perduaan Carian Perduaan Kaedah ini hanya sesuai untuk senarai tersusun. Senarai yang diberikan dibahagikan kepada dua bahagian yang sama. Kunci yang diberikan dibandingkan dengan elemen tengah senarai. Di sini, tiga perkara boleh berlaku, seperti berikut: Jika elemen tengah sepadan dengan kata kunci, carian akan berakhir dengan jayanya di sini Jika elemen tengah lebih besar daripada kata kunci, carian akan berlaku di bahagian kiri. Jika elemen tengah lebih kecil daripada kata kunci, carian akan dilakukan pada partition kanan. Input(i/p) - senarai elemen, kata kunci yang tidak diisih. Output (o/p)-kejayaan-jika gagal mencari kata kunci-jika tidak kekunci=20pertengahan=(rendah+tinggi)/2 Program 1 Berikut ialah penggunaan carian binari dalam

Pengisihan tatasusunan dan algoritma carian dalam PHP Pengisihan tatasusunan dan algoritma carian dalam PHP Jun 23, 2023 am 09:45 AM

PHP ialah bahasa pengaturcaraan yang sangat popular yang menyokong pelbagai jenis data dan algoritma, di mana pengisihan tatasusunan dan algoritma carian adalah bahagian asas dan penting. Artikel ini akan memperkenalkan algoritma pengisihan tatasusunan dan carian yang biasa digunakan dalam PHP, serta senario aplikasi dan analisis kecekapan mereka. 1. Isih tatasusunan PHP menyediakan pelbagai kaedah pengisihan tatasusunan, termasuk isihan gelembung, isihan sisipan, isihan pemilihan, isihan pantas, isihan gabungan, dsb. Berikut ialah pengenalan dan kod sampel untuk beberapa algoritma yang biasa digunakan: Bubble Sort (BubbleSort)

Bagaimana untuk melaksanakan algoritma carian binari menggunakan java Bagaimana untuk melaksanakan algoritma carian binari menggunakan java Sep 19, 2023 pm 12:57 PM

Cara menggunakan Java untuk melaksanakan algoritma carian binari Algoritma carian binari ialah kaedah carian yang cekap sesuai untuk tatasusunan yang disusun. Idea asasnya adalah untuk terus menyempitkan julat carian, membandingkan nilai carian dengan elemen di tengah tatasusunan dan memutuskan sama ada untuk meneruskan carian separuh kiri atau separuh kanan berdasarkan hasil perbandingan sehingga elemen sasaran ditemui atau julat carian dikurangkan kepada kosong. Di bawah ini kami akan memperkenalkan secara terperinci bagaimana untuk melaksanakan algoritma carian binari di Jawa. Langkah 1: Laksanakan kaedah carian binari publicclassBinarySearch

Program Java untuk mencari punca kubus nombor menggunakan algoritma carian binari Program Java untuk mencari punca kubus nombor menggunakan algoritma carian binari Aug 28, 2023 pm 01:33 PM

Punca kubus ialah nilai integer yang, apabila didarab dengan sendirinya tiga kali berturut-turut, menghasilkan nilai asal. Dalam artikel ini, kami akan menulis program Java yang menggunakan carian binari untuk mencari punca kubus nombor. Mencari punca kubus nombor ialah aplikasi algoritma carian binari. Dalam artikel ini, kami akan membincangkan secara terperinci cara menggunakan carian binari untuk mengira punca kubus. Contoh input-output Contoh-1:Input:64Output:4 Contohnya, punca kubus bagi 64 ialah 4, dan output ialah 4. Contoh-2:Input:216Output:6 Contohnya, punca kubus bagi 216 ialah 6, dan keluarannya ialah 6. Carian Binari Carian binari ialah algoritma yang digunakan untuk mencari elemen (iaitu kunci dalam tatasusunan yang diisih). Algoritma Perduaan Berfungsi

See all articles