cari
Rumahhujung hadapan webtutorial jsAlgoritma: Carian Linear dan Carian Binari

Algoritmos: Busca Linear e Busca Binária

Terdapat beberapa algoritma ringkas yang memperkenalkan konsep asas logik dan struktur data, manakala yang lain bertujuan untuk kerumitan yang lebih besar.

Algoritma carian berguna untuk mencari maklumat dalam jumlah data, seperti mencari kenalan dalam buku telefon atau fail pada komputer.

Dalam pengertian ini, artikel ini bertujuan untuk membentangkan pengenalan kepada konsep yang melibatkan algoritma Carian Linear dan Carian Binari.

1. Carian Linear

  • Imbas senarai secara berurutan untuk mencari elemen
  • Contohnya ialah mencari nombor tertentu dalam tatasusunan

Algoritma Carian Linear, dalam pernyataan naratif, bermaksud mempunyai tatasusunan integer dan nilai yang akan menjadi rujukan untuk carian, dipanggil sasaran, yang akan menjadi parameter input. Dalam pengertian ini, terdapat fungsi yang menerima nilai ini, dan dengan itu, mula-mula ia melalui setiap kedudukan tatasusunan ini sehingga saiz maksimum kedudukan sedia ada, menggunakan terutamanya a untuk ini, dan kemudian, dengan jika, ia dikondisikan semakan untuk: sama ada setiap kedudukan mempunyai nilai yang sama dengan sasaran. Jika nilai ditemui, fungsi mengembalikan indeks kedudukan itu, atau mengembalikan -1, mewakili kes tidak ditemui.

Contoh menggunakan JavaScript ialah:

function linearSearch(array, target) {
  for (let i = 0; i 



<p>Oleh itu, algoritma ini bertujuan untuk mengembalikan kedudukan, atau indeks, di mana elemen itu berada, atau malah, ia hanya mencari elemen pertama yang sepadan, tanpa perlu meneruskan selepas menemuinya. Tingkah laku ini berlaku disebabkan oleh arahan algoritma, yang, apabila keadaannya dipenuhi, melaksanakan pulangan dengan indeks elemen, dan selepas itu ia keluar dari gelung, menamatkan fungsi.</p>

<p>Algoritma ini boleh berguna dalam senario yang terdapat senarai kecil atau tidak tersusun. Setiap elemen perlu dilalui dan tiada penggunaan memori tambahan.</p>

<p><strong>2. Carian Binari</strong></p>

  • Tatal senarai tersusun untuk mencari elemen
  • Contohnya ialah mencari nombor tertentu dalam tatasusunan

Algoritma Carian Binari ialah bentuk algoritma yang lebih cekap untuk mencari nilai tertentu dalam tatasusunan yang diisih. Ini berfungsi dengan membahagikan julat carian berulang kali kepada separuh, yang menjadikannya lebih pantas daripada carian linear untuk set data yang besar. Carian binari mempunyai kerumitan O(log n), manakala carian linear ialah O(n).

Sebagai contoh dalam JavaScript, kami mempunyai:

function linearSearch(array, target) {
  for (let i = 0; i 



<p>Logiknya terdiri daripada bermula dengan dua penunjuk, satu di permulaan (rendah) dan satu lagi di hujung (tinggi) tatasusunan. Oleh itu, indeks tengah dikira const middle = Math.floor((rendah tinggi) / 2). Dengan ini, elemen tengah dibandingkan dengan sasaran pada setiap langkah: jika elemen tengah sama dengan sasaran, indeks dikembalikan. Walau bagaimanapun, jika elemen tengah lebih kecil daripada sasaran, atau tengah  sasaran, nombor yang lebih besar daripada sasaran dibuang, melaraskan indeks akhir kepada tinggi = tengah - 1. Proses ini diulang sehingga sasaran ditemui atau apabila julat menjadi tidak sah, dalam kes rendah > tinggi.</p>

<p>Carian binari boleh menjadi cekap apabila mencari data tersusun, seperti dalam kamus abjad atau set tarikh tersusun. Mereka cenderung untuk menjadi lebih pantas dan lebih cekap, kerana masalah itu boleh dibahagikan kepada submasalah yang lebih kecil dalam setiap lelaran.</p>

<p>Oleh itu, difahamkan bahawa carian linear adalah mudah dan berfungsi pada senarai kecil. Carian binari adalah lebih cekap, tetapi memerlukan data tersusun. </p>

<p>Memahami cara algoritma yang berbeza berfungsi dan konteks penggunaannya ialah langkah penting ke arah membina penyelesaian pengiraan yang cekap. Cuba laksanakan dan analisa kaedah ini, dan temui cara strategi ini boleh disesuaikan untuk menyelesaikan cabaran dunia sebenar. =)</p>


          

            
        

Atas ialah kandungan terperinci Algoritma: Carian Linear dan Carian Binari. 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
Ganti aksara rentetan dalam javascriptGanti aksara rentetan dalam javascriptMar 11, 2025 am 12:07 AM

Penjelasan terperinci mengenai kaedah penggantian rentetan javascript dan Soalan Lazim Artikel ini akan meneroka dua cara untuk menggantikan watak rentetan dalam JavaScript: Kod JavaScript dalaman dan HTML dalaman untuk laman web. Ganti rentetan di dalam kod JavaScript Cara yang paling langsung ialah menggunakan kaedah pengganti (): str = str.replace ("cari", "ganti"); Kaedah ini hanya menggantikan perlawanan pertama. Untuk menggantikan semua perlawanan, gunakan ungkapan biasa dan tambahkan bendera global g: str = str.replace (/fi

Tutorial Persediaan API Carian Google CustomTutorial Persediaan API Carian Google CustomMar 04, 2025 am 01:06 AM

Tutorial ini menunjukkan kepada anda bagaimana untuk mengintegrasikan API carian Google tersuai ke dalam blog atau laman web anda, menawarkan pengalaman carian yang lebih halus daripada fungsi carian tema WordPress standard. Ia menghairankan mudah! Anda akan dapat menyekat carian ke y

Contoh warna json failContoh warna json failMar 03, 2025 am 12:35 AM

Siri artikel ini ditulis semula pada pertengahan 2017 dengan maklumat terkini dan contoh segar. Dalam contoh JSON ini, kita akan melihat bagaimana kita dapat menyimpan nilai mudah dalam fail menggunakan format JSON. Menggunakan notasi pasangan nilai utama, kami boleh menyimpan apa-apa jenis

Bina Aplikasi Web Ajax anda sendiriBina Aplikasi Web Ajax anda sendiriMar 09, 2025 am 12:11 AM

Jadi di sini anda, bersedia untuk mempelajari semua perkara ini yang dipanggil Ajax. Tetapi, apa sebenarnya? Istilah Ajax merujuk kepada kumpulan teknologi longgar yang digunakan untuk membuat kandungan web yang dinamik dan interaktif. Istilah Ajax, yang asalnya dicipta oleh Jesse J

8 plugin susun atur halaman jquery yang menakjubkan8 plugin susun atur halaman jquery yang menakjubkanMar 06, 2025 am 12:48 AM

Leverage JQuery untuk Layouts Laman Web yang mudah: 8 Plugin Essential JQuery memudahkan susun atur laman web dengan ketara. Artikel ini menyoroti lapan plugin jQuery yang kuat yang menyelaraskan proses, terutamanya berguna untuk penciptaan laman web manual

Apa itu ' ini ' Dalam JavaScript?Apa itu ' ini ' Dalam JavaScript?Mar 04, 2025 am 01:15 AM

Mata teras Ini dalam JavaScript biasanya merujuk kepada objek yang "memiliki" kaedah, tetapi ia bergantung kepada bagaimana fungsi dipanggil. Apabila tidak ada objek semasa, ini merujuk kepada objek global. Dalam penyemak imbas web, ia diwakili oleh tetingkap. Apabila memanggil fungsi, ini mengekalkan objek global; tetapi apabila memanggil pembina objek atau mana -mana kaedahnya, ini merujuk kepada contoh objek. Anda boleh mengubah konteks ini menggunakan kaedah seperti panggilan (), memohon (), dan mengikat (). Kaedah ini memanggil fungsi menggunakan nilai dan parameter yang diberikan. JavaScript adalah bahasa pengaturcaraan yang sangat baik. Beberapa tahun yang lalu, ayat ini

Tingkatkan pengetahuan jQuery anda dengan penonton sumberTingkatkan pengetahuan jQuery anda dengan penonton sumberMar 05, 2025 am 12:54 AM

JQuery adalah rangka kerja JavaScript yang hebat. Walau bagaimanapun, seperti mana -mana perpustakaan, kadang -kadang perlu untuk mendapatkan di bawah tudung untuk mengetahui apa yang sedang berlaku. Mungkin kerana anda mengesan bug atau hanya ingin tahu tentang bagaimana jQuery mencapai UI tertentu

10 helaian cheat mudah alih untuk pembangunan mudah alih10 helaian cheat mudah alih untuk pembangunan mudah alihMar 05, 2025 am 12:43 AM

Siaran ini menyusun helaian cheat berguna, panduan rujukan, resipi cepat, dan coretan kod untuk perkembangan aplikasi Android, BlackBerry, dan iPhone. Tiada pemaju harus tanpa mereka! Panduan Rujukan Gesture Touch (PDF) Sumber yang berharga untuk desig

See all articles

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.

Alat panas

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma