Bagaimana untuk melaksanakan algoritma carian binari menggunakan java
Cara menggunakan Java untuk melaksanakan algoritma carian binari
Algoritma carian binari ialah kaedah carian yang cekap sesuai untuk tatasusunan yang disusun. Idea asasnya ialah untuk terus menyempitkan julat carian, membandingkan nilai carian dengan unsur-unsur di tengah tatasusunan dan memutuskan sama ada untuk meneruskan mencari separuh kiri atau separuh kanan berdasarkan hasil perbandingan sehingga elemen sasaran ditemui atau julat carian dikurangkan kepada kosong.
Mari perkenalkan secara terperinci cara melaksanakan algoritma carian binari dalam Java.
Langkah 1: Laksanakan kaedah carian binari
public class BinarySearch { public static int binarySearch(int[] arr, int target) { int left = 0; int right = arr.length - 1; while (left <= right) { int mid = (left + right) / 2; if (arr[mid] == target) { return mid; } else if (arr[mid] < target) { left = mid + 1; } else { right = mid - 1; } } return -1; //表示未找到目标元素 } }
Langkah 2: Uji kaedah carian binari
public class Main { public static void main(String[] args) { int[] arr = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20}; //已排序数组 int target = 12; //要查找的目标元素 int index = BinarySearch.binarySearch(arr, target); if (index != -1) { System.out.println("目标元素在数组中的位置为:" + index); } else { System.out.println("未找到目标元素"); } } }
Kod di atas terlebih dahulu mentakrifkan a BinarySearch kelas, yang mengandungi kaedah statik binarySearch
untuk melaksanakan algoritma carian binari. Dalam kaedah binarySearch
, kami mentakrifkan dua penunjuk, kiri
dan kanan
, masing-masing untuk menunjuk ke elemen paling kiri dan paling kanan julat carian. Dalam gelung, indeks elemen tengah mid
dikira dan kemudian nilai carian dibandingkan dengan arr[mid]
. Jika kedua-duanya sama, ini bermakna elemen sasaran ditemui dan nilai indeksnya mid
dikembalikan. Jika nilai carian lebih besar daripada arr[mid]
, gerakkan penunjuk kiri
satu kedudukan ke kanan dan sempitkan julat carian ke separuh kanan. Jika nilai carian kurang daripada arr[mid]
, gerakkan penunjuk kanan
satu kedudukan ke kiri dan sempitkan julat carian ke separuh kiri. Gelung berterusan sehingga elemen sasaran ditemui atau julat carian kosong. Jika elemen sasaran tidak ditemui selepas gelung berakhir, -1 dikembalikan untuk menunjukkan bahawa ia tidak ditemui. BinarySearch
类,其中包含了一个静态方法binarySearch
用于实现二分查找算法。在binarySearch
方法中,我们定义了left
和right
两个指针分别指向查找范围的最左和最右元素。在一个循环中,通过计算得到中间元素的索引mid
,然后将查找值与arr[mid]
进行比较。如果两者相等,则表示找到了目标元素,返回其索引值mid
。如果查找值大于arr[mid]
,则将left
指针右移一位,缩小查找范围为右半部分。如果查找值小于arr[mid]
,则将right
指针左移一位,缩小查找范围为左半部分。循环继续直到找到目标元素或查找范围为空。如果循环结束后未找到目标元素,返回-1表示未找到。
在Main
类的main
方法中,我们创建了一个已排序的数组arr
和一个待查找的目标元素target
。然后调用BinarySearch
类的binarySearch
方法进行二分查找,将返回的结果存储在index
utama
kelas Utama
, kami mencipta tatasusunan tersusun arr
dan bakal- dicari Elemen sasaran sasaran
. Kemudian panggil kaedah binarySearch
kelas BinarySearch
untuk melakukan carian binari dan simpan hasil yang dikembalikan dalam pembolehubah index
. Akhir sekali, ia dinilai sama ada elemen sasaran ditemui berdasarkan hasil yang dikembalikan, dan hasil yang sepadan dicetak. Melalui contoh kod di atas, kita dapat melihat bahawa melaksanakan algoritma carian binari dalam Java adalah sangat mudah dan hanya memerlukan beberapa baris kod untuk diselesaikan. Kaedah ini mempunyai kerumitan masa carian O(logn), yang sangat cekap dan sesuai untuk tatasusunan diisih yang besar. Jika berbilang operasi carian diperlukan, operasi pengisihan tatasusunan boleh dibahagikan secara berasingan untuk meningkatkan kecekapan. Saya harap artikel ini akan membantu anda memahami dan menggunakan algoritma carian binari! #🎜🎜#Atas ialah kandungan terperinci Bagaimana untuk melaksanakan algoritma carian binari menggunakan java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Panduan Nombor Sempurna di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor Perfect dalam Java?, contoh dengan pelaksanaan kod.

Panduan untuk Weka di Jawa. Di sini kita membincangkan Pengenalan, cara menggunakan weka java, jenis platform, dan kelebihan dengan contoh.

Panduan untuk Nombor Smith di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor smith di Jawa? contoh dengan pelaksanaan kod.

Dalam artikel ini, kami telah menyimpan Soalan Temuduga Spring Java yang paling banyak ditanya dengan jawapan terperinci mereka. Supaya anda boleh memecahkan temuduga.

Java 8 memperkenalkan API Stream, menyediakan cara yang kuat dan ekspresif untuk memproses koleksi data. Walau bagaimanapun, soalan biasa apabila menggunakan aliran adalah: bagaimana untuk memecahkan atau kembali dari operasi foreach? Gelung tradisional membolehkan gangguan awal atau pulangan, tetapi kaedah Foreach Stream tidak menyokong secara langsung kaedah ini. Artikel ini akan menerangkan sebab -sebab dan meneroka kaedah alternatif untuk melaksanakan penamatan pramatang dalam sistem pemprosesan aliran. Bacaan Lanjut: Penambahbaikan API Java Stream Memahami aliran aliran Kaedah Foreach adalah operasi terminal yang melakukan satu operasi pada setiap elemen dalam aliran. Niat reka bentuknya adalah

Panduan untuk TimeStamp to Date di Java. Di sini kita juga membincangkan pengenalan dan cara menukar cap waktu kepada tarikh dalam java bersama-sama dengan contoh.

Kapsul adalah angka geometri tiga dimensi, terdiri daripada silinder dan hemisfera di kedua-dua hujungnya. Jumlah kapsul boleh dikira dengan menambahkan isipadu silinder dan jumlah hemisfera di kedua -dua hujungnya. Tutorial ini akan membincangkan cara mengira jumlah kapsul yang diberikan dalam Java menggunakan kaedah yang berbeza. Formula volum kapsul Formula untuk jumlah kapsul adalah seperti berikut: Kelantangan kapsul = isipadu isipadu silinder Dua jumlah hemisfera dalam, R: Radius hemisfera. H: Ketinggian silinder (tidak termasuk hemisfera). Contoh 1 masukkan Jejari = 5 unit Ketinggian = 10 unit Output Jilid = 1570.8 Unit padu menjelaskan Kirakan kelantangan menggunakan formula: Kelantangan = π × r2 × h (4

Java ialah bahasa pengaturcaraan popular yang boleh dipelajari oleh pembangun pemula dan berpengalaman. Tutorial ini bermula dengan konsep asas dan diteruskan melalui topik lanjutan. Selepas memasang Kit Pembangunan Java, anda boleh berlatih pengaturcaraan dengan mencipta program "Hello, World!" Selepas anda memahami kod, gunakan gesaan arahan untuk menyusun dan menjalankan program, dan "Hello, World!" Pembelajaran Java memulakan perjalanan pengaturcaraan anda, dan apabila penguasaan anda semakin mendalam, anda boleh mencipta aplikasi yang lebih kompleks.
