Nota Binary Search

1. Definisi Binary Search?

Binary Search adalah algoritma yang mencari elemen dalam senarai terurut dengan membahagikan senarai kepada dua bahagian dan membandingkan nilai tengah dengan nilai yang dicari.

2. Cara Kerja Binary Search

Binary Search memerlukan senarai yang telah disusun. Proses pencarian membahagi senarai kepada dua bahagian pada setiap langkah, bergantung kepada sama ada nilai yang dicari adalah lebih kecil atau lebih besar daripada nilai tengah.

3. Contoh Pseudokod Binary Search

Mula
1. Setkan senarai L = {A, B, C, D, ..., Z}
2. Tetapkan permulaan = 0 dan akhir = 25 (bilangan huruf)
3. Masukkan satu nilai carian b
4. Selagi permulaan <= akhir:
    4.1 Cari nilai tengah
    4.2 Bandingkan nilai tengah dengan b
    4.3 Jika b sama dengan nilai tengah, papar "Item ditemui" dan berhenti
    4.4 Jika b lebih kecil daripada nilai tengah, semak bahagian kiri (kurangkan akhir)
    4.5 Jika b lebih besar daripada nilai tengah, semak bahagian kanan (naikkan permulaan)
5. Jika item tidak ditemui, papar "Item tidak ditemui"
Tamat
    

4. Kod Aturcara Binary Search (Python)

# Binary Search dalam Python

def cari_binari(senarai, sasaran):
    permulaan = 0
    akhir = len(senarai) - 1

    # Ulang selagi permulaan <= akhir
    while permulaan <= akhir:
        tengah = (permulaan + akhir) // 2  # Cari nilai tengah

        # Jika item ditemui
        if senarai[tengah] == sasaran:
            return tengah  # Kembalikan indeks item

        # Jika item lebih kecil, cari di sebelah kiri
        elif senarai[tengah] > sasaran:
            akhir = tengah - 1

        # Jika item lebih besar, cari di sebelah kanan
        else:
            permulaan = tengah + 1

    return -1  # Item tidak ditemui

# Contoh cara guna:
senarai = ['A', 'B', 'C', 'D', 'E', 'F', 'G']  # Senarai huruf
sasaran = 'E'  # Huruf yang kita cari

# Panggil fungsi cari_binari
hasil = cari_binari(senarai, sasaran)

# Semak jika item dijumpai
if hasil != -1:
    print(f"Huruf dijumpai di indeks {hasil}")
else:
    print("Huruf tidak dijumpai")
    

5. Video Tutorial Binary Search

6. Binary Search Flowchart

Linear Search Flowchart

Gunakan roda tetikus untuk memperbesar atau memperkecil gambar.

✖ Tutup
Chatbot
Sila tanya saya!