Carian Binari 0 Hingga 512 | Definisi, Cara Menggunakan

Carian binari ialah teknik pengaturcaraan yang sangat berguna untuk mencari nilai tertentu dalam senarai atau tatasusunan yang disusun.

Dalam teknik carian binari, nilai yang dicari dibandingkan dengan nilai tengah dari senarai dan kemudian pemotongan dilakukan pada separuh senarai yang mengandungi nilai tersebut, supaya nilai dicari dengan cepat dan cekap.

Dalam artikel ini, kita akan membincangkan bagaimana teknik carian binari digunakan untuk mencari nilai dari 0 hingga 512.

Artikel ini akan merangkumi maksud carian binari, bagaimana untuk melaksanakan teknik ini untuk mencari nilai dalam tatasusunan, dan bagaimana untuk mengoptimumkan prestasi carian binari.

Apakah Maksud Carian Binari 0 Hingga 512?

apakah maksud carian binari 0 hingga 512

Carian binari ialah teknik dalam pengaturcaraan untuk mencari nilai tertentu dalam senarai atau tatasusunan yang disusun.

Teknik ini berfungsi dengan membahagikan senarai kepada dua bahagian dan kemudian menyemak sama ada nilai yang dicari berada pada separuh masa pertama atau kedua.

Selepas itu, hanya bahagian yang mungkin mengandungi nilai itu dikekalkan, manakala separuh yang mustahil untuk mengandungi nilai itu dikeluarkan.

Proses ini diulang berulang kali sehingga nilai yang dicari ditemui atau keseluruhan senarai habis.

Cara Menggunakan Teknik Carian Binari 0 Hingga 512

cara menggunakan teknik carian binari 0 hingga 512

Untuk melaksanakan teknik carian binari untuk mencari nilai dari 0 hingga 512, kita mesti terlebih dahulu membuat tatasusunan yang mengandungi nilai disusun dari 0 hingga 512.

Katakan kita mempunyai tatasusunan berikut:

int[] arr = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ..., 512};

Langkah seterusnya adalah untuk menentukan nilai yang ingin anda cari, contohnya kita ingin mencari nilai 256.

Kemudian, kita boleh menggunakan teknik carian binari untuk mencari nilai tersebut dengan mengikuti langkah berikut:

1. Tentukan nilai tengah tatasusunan.

int mid = arr.length / 2;

2. Bandingkan nilai yang anda ingin cari dengan nilai tengah tatasusunan.

Jika nilainya kurang daripada nilai tengah, kemudian cari separuh kiri tatasusunan. Jika lebih besar, kemudian cari separuh kanan tatasusunan.

Jika ia adalah sama, maka nilai ditemui dan proses carian selesai.

if (target < arr[mid]) {
    // cari di setengah kiri array
    ...
} else if (target > arr[mid]) {
    // cari di setengah kanan array
    ...
} else {
    // nilai ditemukan, proses cari selesai
    ...
}

3. Jika nilai tidak ditemui, ulangi langkah 1 dan 2 pada separuh tatasusunan yang mungkin mengandungi nilai.

// cari di setengah kiri array
if (target < arr[mid]) {
    int[] leftArr = Arrays.copyOfRange(arr, 0, mid);
    binarySearch(leftArr, target);
} 

4. Jika nilai tidak ditemui dalam separuh array kiri, ulangi langkah 1 dan 2 pada separuh array kanan yang mungkin mengandungi nilai tersebut.

// cari di setengah kanan array
else if (target > arr[mid]) {
    int[] rightArr = Arrays.copyOfRange(arr, mid + 1, arr.length);
    binarySearch(rightArr, target);
} 

5. Jika nilai tidak ditemui dalam keseluruhan array, keluarkan mesej bahawa nilai itu tidak dijumpai.

// nilai tidak ditemukan
System.out.println("Nilai tidak ditemukan");

Dalam melaksanakan teknik carian binari di atas, kami menggunakan rekursi untuk memanggil semula fungsi carian binari pada separuh daripada tatasusunan yang mungkin mengandungi nilai tersebut.

Rekursi di sini membolehkan kami mengurangkan kerumitan dan mempercepatkan carian nilai.

Cara Mengoptimumkan Prestasi Carian Binari

cara mengoptimumkan prestasi carian binari

Walaupun teknik carian binari sangat cekap untuk mencari nilai dalam array yang disusun, terdapat cara untuk mengoptimumkan prestasi carian binari untuk menjadikannya lebih pantas dan lebih cekap. Beberapa cara ini termasuk:

1. Kurangkan bilangan perbandingan yang dilakukan.

Setiap kali kita menyemak sama ada nilai yang ingin kita cari adalah lebih besar atau kurang daripada nilai tengah, kita boleh memberi perhatian kepada nilai pada penghujung setiap separuh array.

Jika nilai yang anda ingin cari adalah kurang daripada nilai hujung kiri, maka anda tidak perlu menyemak separuh kanan array.

Ini akan mengurangkan bilangan perbandingan yang dilakukan dan meningkatkan prestasi carian.

2. Menggunakan operator bit untuk mempercepatkan proses memotong tatasusunan kepada separuh.

Kita boleh menggunakan operator bit untuk mempercepatkan proses memotong separuh array.

Sebagai contoh, jika kita ingin memotong separuh kiri array, kita boleh mengalihkan nilai tengah ke kiri sebanyak satu bit.

Begitu juga, jika kita ingin memotong separuh kanan array, kita boleh mengalihkan nilai tengah ke kanan sebanyak satu bit.

3. Menggunakan kaedah berulang dan bukannya rekursi.

Walaupun rekursi boleh memudahkan kod dan mengurangkan kerumitan, kadangkala kaedah lelaran lebih pantas dan lebih cekap dalam mencari nilai menggunakan teknik carian binari.