Binary Tree — Struktur Data

Binary Tree adalah struktur hierarki di mana setiap node punya maksimal 2 child (kiri dan kanan). Terminologi: Istilah Penjelasan Root Node paling atas Parent N

Binary Tree adalah struktur hierarki di mana setiap node punya maksimal 2 child (kiri dan kanan).

Terminologi:

Istilah Penjelasan
Root Node paling atas
Parent Node yang punya child
Child Node di bawah parent
Leaf Node tanpa child
Height Jarak terpanjang dari root ke leaf
Depth Jarak dari root ke node tertentu
class TreeNode {
  constructor(value) {
    this.value = value;
    this.left = null;
    this.right = null;
  }
}

// Bangun tree secara manual
const root = new TreeNode(1);
root.left = new TreeNode(2);
root.right = new TreeNode(3);
root.left.left = new TreeNode(4);
root.left.right = new TreeNode(5);

//       1
//      / \
//     2   3
//    / \
//   4   5

Jenis-jenis Binary Tree:

Kegunaan nyata:

🎭 Analogi sehari-hari: Tree = silsilah keluarga. Kakek (root) punya 2 anak (left, right). Tiap anak punya max 2 anak juga. Cucu tanpa anak = leaf. Bedanya pohon di kebun: tree komputer digambar terbalik, root di atas.

💡 Mengapa "Binary"? Kenapa max 2 child, bukan lebih? Banyak struktur lain (n-ary tree, B-tree) punya >2 child. Binary tree dipakai karena gampang diimplementasi (cuma 2 pointer per node) dan rumus index di array bersih — node ke-i punya child di 2i+1 dan 2i+2. Ini foundation untuk Heap.

⚠️ Jebakan umum:

🎯 Jenis Binary Tree mana untuk apa?

TL;DR: Binary Tree = struktur hierarki, max 2 child per node. Foundation untuk BST, Heap, dan parsing tree. Yang bikin powerful: balanced tree = O(log n).