Data Structure 04 | 23/03/16

Posted by on March 29, 2016 at 9:25 am.

SESSION 9 | Introduction to Tree, Binary Tree and Expression Tree

Tree

sebuah koleksi dari 1/banyak node.

treee

Degree of tree : 3

Degree of C : 2

Height : 3

Parent of C : A

Children of A : B, C, D

Sibling of F : G

Ancestor of A : A, C

Descendant of C : F, G

Root : node paling atas

Edge : garis yang menghubungi parent dan child

Leaf : node yang tidak mempunyai anak

Sibling : node yang memiliki orang tua yang sama

Degree dari sebuah node : total dari sub tree sebuah node

Height/Depth : max degree dari node dalam tree

Jika ada garis yang menghubungkan p ke q, maka p adalah ancestor dari q dan q  adalah descendant dari p.

Binary Tree

tree yang akarnya harus memiliki minimal 2 anak.

Anak sebelah kiri disebut left child dan yang sebelah kanan disebut right child

Node yang tidak memiliki child disebut leaf.

Perfect binary tree : binary tree yang setiap levelnya memiliki depth yang sama

Complete binary tree : binary tree yang setiap levelnya, kecuali kemungkinan yang terakhir, terpenuhi, dan semua node berada di sebelah kiri. Perfect binary tree adalah sebuah complete binary tree.

Skewed binary tree : binary tree yang masing-masing nodenya memiliki hanya 1 anak.

Balanced binary tree : binary tree yang jarak root ke leaf sama dengan jarak antara anak kanan dan kiri.

Representation of binary tree

repre

Index dalam array menunjukan nomor node.

Index 0 adalah root node.

Index left child adalah 2p+1, dimana p adalah parent index.

Index right child adalah 2p+2.

Index parent adalah (p-1)/2.

Contoh pake linked list :

repri

struct node {

int data ;

struct node *left;

struct node *right;

struct node *parent;

}; struct node *root = NULL;

Expression tree concept 

prefix : *+ab/-cde

postfix : ab+cd-e/*

infix : (a+b)*((c-d)/e)

Kita dapat membuat expression tree dari prefix/postfix by recursive

Di prefix, harus print/process sebelum anak di proses.

Di postfix, harus print/process setelah anak di proses.

 

Leave a Reply