4-Introduction to Tree, Binary Tree, and Expression Tree

1. Konsep Tree
  • Node yang ada di paling atas pada Tree disebutroot
  • Garis yang menghubungkan Parent ke Child pada tree disebutEdge
  • Node yang tidak memiliki anak disebut Leaf
  • Dua node yang memiliki Parent yang sama disebut Sibling
  • Degree dari node adalah jumlah cabang dari satu node
  • Height/ Depth adalah cabang maksimum dari satu node pada Tree
  • Ancestor adalah semua node parent yang ada di atas node tersebut
  • Descendant adalah semua node child yang ada di bawah node tersebut


Binary Tree adalah data structure bercabang yang masing-masing nodenya memiliki dua anak, yaitu anak kiri dan anak kanan

2. Jenis jenis Binary Tree
  • Perfect binary tree adalah binary tree yang semua tingkatnya memiliki kesamaan kedalaman, bisa juga disebut complete binary tree atau balanced binary tree
  • Complete binary tree adalah binary tree yang semua tingkat memiliki anggota kecuali tingkat paling akhir
  • Skewed binary tree adalah binary tree yang setiap node memiliki satu anak
  • Balanced binary tee adalah binary tree yang jumlah node child kiri sama dengan jumlah node child kanan
Perfect Binary Tree

Complete Binary Tree

Skewed Binary Tree

Balanced Binary Tree

3. Binary Tree dalam Array

4. Binary Tree dalam Linked List
struct Data{
   int number;
   Data*parent, *left, *right;
}Data*root = NULL;


5. Konsep Expression Tree

Prefix = *+ab/cde
Postfix = ab+cd-e/*
Infix = (a+b)*((c-d)/e)

code dari binary tree:

struct Data{
   char a;
   Data *left, *right;
};

6. Infix, Prefix, Postfix dalam Binary Tree

kita dapat membuat expression tree dari prefix atau postfix menggunakan rekursif

pada prefix, data harus dicetak sebelum node child dari data tersebut dicetak

pada postfix, data harus dicetak sesudah node child dari data tersebut dicetak

Comments

Popular posts from this blog

1-Array & Linked List

2-Linked List Implementation

5-Binary Search Tree