Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

Struktur Data & Algoritma

Pelajaran 9 dari 17

Pohon, tabel hash, dan heap

Pohon pencarian biner

Setelah pelajaran ini kamu bisa menyisipkan kunci ke pohon pencarian biner, membacanya urut lewat penelusuran urut-tengah, dan menghitung tingginya.

±14 menitDiperiksa 1 Okt 2026

Materi

Pohon adalah struktur bertingkat: satu simpul akar di puncak, setiap simpul boleh punya anak, dan simpul tanpa anak disebut daun. Tinggi pohon adalah banyaknya simpul pada jalur terpanjang dari akar ke daun. Pohon pencarian biner (binary search tree, BST) membatasi setiap simpul paling banyak dua anak dan menambah satu aturan: semua kunci di subpohon kiri lebih kecil dari kunci simpul, dan semua kunci di subpohon kanan lebih besar.

Aturan itu membuat pencarian mirip pencarian biner pada daftar urut. Mulai dari akar, bandingkan kunci yang dicari: lebih kecil pergi ke kiri, lebih besar pergi ke kanan, sama berarti ketemu, dan None berarti tidak ada. Banyaknya perbandingan paling banyak setinggi pohon. Menyisipkan berjalan dengan cara yang sama sampai menemukan tempat kosong. Bedanya dengan daftar urut, menyisipkan ke BST tidak perlu menggeser data lain.

def cari(akar, kunci):
    s = akar
    while s is not None:
        if kunci == s.kunci:
            return True
        s = s.kiri if kunci < s.kunci else s.kanan
    return False

Penelusuran urut-tengah (in-order) mengunjungi subpohon kiri, lalu simpul, lalu subpohon kanan. Karena aturan BST, urutan kunjungan itu menghasilkan semua kunci dari terkecil ke terbesar. Pohon yang seimbang, misalnya hasil menyisipkan kunci dalam urutan acak, tingginya sekitar log₂ n, sehingga sejuta kunci cukup dicari dalam sekitar 20 perbandingan.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Kunci 1 sampai 1.000 disisipkan berurutan naik ke BST kosong. Berapa perbandingan yang dibutuhkan untuk mencari kunci 1.000?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke