ChatGPT! Binary Tree Search Algorithm (Binary Search Tree - BST)

🌳 Binary Tree Search Algorithm (Binary Search Tree – BST)

Binary Tree Search biasanya merujuk ke pencarian pada Binary Search Tree (BST) — yaitu struktur data pohon di mana:

  • Setiap node punya maksimal 2 anak (left & right)
  • Nilai di left subtree < root
  • Nilai di right subtree > root

📌 Cara Kerja Binary Search Tree

Misalnya kita punya BST seperti ini:

Contoh tree:


        50

       /  \

      30    70

     / \    / \

    20 40  60  80


🔍 Algoritma Search pada BST

🎯 Tujuan:

Mencari apakah sebuah nilai ada di dalam tree.

📌 Langkah-langkah:

  1. Mulai dari root
  2. Jika nilai = root → ✅ ditemukan
  3. Jika nilai < root → pergi ke left child
  4. Jika nilai > root → pergi ke right child
  5. Ulangi sampai ketemu atau node = null

💻 Pseudocode


function search(node, key):

    if node == null:

        return false

    if key == node.value:

        return true

    else if key < node.value:

        return search(node.left, key)

    else:

        return search(node.right, key)


🧠 Contoh Pencarian

Misal cari 60

  • Bandingkan dengan 50 → 60 > 50 → ke kanan
  • Bandingkan dengan 70 → 60 < 70 → ke kiri
  • Bandingkan dengan 60 → ✅ ditemukan

⏱ Kompleksitas Waktu

Kondisi Time Complexity
Best case O(log n)
Average case O(log n)
Worst case (tree skewed) O(n)

Jika tree seimbang → sangat cepat (logaritmik)
Jika tree tidak seimbang → bisa seperti linked list


⚙️ Implementasi Contoh (Python)


class Node:

    def __init__(self, value):

        self.value = value

        self.left = None

        self.right = None

def search(root, key):

    if root is None:

        return False

    if key == root.value:

        return True

    elif key < root.value:

        return search(root.left, key)

    else:

        return search(root.right, key)


🚀 Kenapa Binary Tree Search Penting?

Digunakan dalam:

  • Database indexing
  • File systems
  • Memory management
  • Compiler symbol tables
  • Ordered data storage

Comments