Binary Tree : Sebuah pohon data structure yang memiliki paling banyak 2 anak / keturunan.
Definisi Binary Tree :
- Akar dari Tree disebut Root dan akar tersebut merupakan parents (orang tua) dari sebuah tree.
- Edges adalah penghubung antar nodes.
- Node yang tidak memiliki anak / keturunan disebut Leaf
- Nodes yang mempunyai parent’s node yang sama disebut siblings(saudara)
- Total subtree dalam sebuah Tree disebut Degrees
- Depth/Kedalaman adalah degree dari sebuah Tree
- Parent’s Tree maksimal memiliki 2 subtree/anak
- Kedalaman/Depth sering disebut dengan Level
Jenis-jenis Binary Tree :
- Perfect Binary Tree : Binary tree yang memiliki anak/keturunan yang sama antara Kiri dan Kanan dan memiliki kedalaman (Depth) yang sama
- Complete Binary Tree : Binary Tree yang mirip seperti perfect tapi terdapat perbedaan depth antara kiri dan kanan
- Skewed Binary Tree : Setiap node hanya memiliki 1 anak jadi seperti Binary Tree kanan / sebaliknya
- Balanced Binary Tree : Perbedaan Depth antara node kiri dan kanan maksimal 1 Level
Rumus pada Binary Tree :
- Tinggi minimum dari binary tree dengan jumlah node n -> 2Log(n)
- Jumlah node maksimum pada suatu level di Binary Tree -> 2k
- Tinggi maksimum dari Binary Tree adalah -> n-1
- Jumlah node maksimum dari Binary Tree adalah -> 2h+1-1