Vallentina Christy / 2101714345 / CA01
INTRODUCTION TO TREE, BINARY TREE AND EXPRESSION TREE
TREE AND BINARY TREE
Tree Concept
Tree merupakan sebuah koleksi atas satu atau lebih nodes.
Node yang berada paling atas disebut root.
Sebuah garis yang menghubungkan parent dengan child disebut edge.
Nodes yang tidak memiliki child disebut leaf.
Nodes yang memiliki parent yang sama disebut sibling.
Degree dari node merupakan total sub tree dari node.
Height / Depth merupakan maximum degree dari nodes pada tree.
Jika terdapat garis yang menghubungkan p kepada q, maka p disebut ancestor dari q, dan q disebut descendant dari p.
Binary Tree Concept
Binary tree merupakan percabangan tree data structure dimana setiap node memiliki paling banyak dua children yaitu child kiri dan child kanan.
Type of Binary Tree
PERFECT Binary Tree merupakan binary tree dimana di setiap level memiliki depth / kedalaman / lebar yang sama.
COMPLETE Binary Tree merupakan binary tree dimana setiap level terisi penuh (kecuali mungkin yang terakhir) dan semua nodes akan mengarah ke bagian kiri tree. Perfect binary tree juga merupakan complete binary tree.
SKEWED Binary Tree merupakan binary tree dimana setiap node memiliki paling banyak satu child.
BALANCED Binary Tree merupakan binary tree dimana setiap leaf memiliki jarak yang sama terhadap root.
Property of Binary Tree
Maximum number dari nodes pada level k dari sebuah binary tree dapat dituliskan sebagai 2 pangkat k.
Representation of Binary Tree
- Implementation using array
- Implementation using linked list
Expression Tree Concept
Kita dapat membuat sebuah expression tree dari prefix ataupun postfix dengan proses rekursif.
Konsep dari expression tree:
- Prefix : Print L R
Contoh : *+ab/-cde - Postfix : L R Print
Contoh : ab+cd-e/* - Infix : L Print R
Contoh : (a+b)*((c-d)/e)
Prefix Traversal
Di prefix, kita harus print / proses sebelum child tersebut diproses.
Postfix Traversal
Di postfix, kita harus print / proses setelah child tersebut telah diproses.
Komentar
Posting Komentar