Struktur Data
nur.zahrati@polibatam.ac.id
Definisi
Istilah pada Tree
Overview Aplikasi tree
Jenis-jenis tree
Operasi pada binary tree
Struktur non linear dimana data disusun sebagai
simpul-simpul (node) yang saling berkaitan secara
hirarkis seperti struktur pohon
Tree Salah satu simpul merupakan akar (root), dan simpul-
simpul lain membentuk suatu sub tree
Simpul dengan posisi di atas disebut simpul parent,
sedangkan simpul di bawah disebut simpul child
Superordinat (/predecessor/father/parent) : simpul yang
berada di atas simpul tertentu
Contoh: Superordinat D adalah B
Parent dari C adalah …
Subordinat (/successor/son/children) : simpul di bawah
Istilah-Istilah simpul tertentu
pada Tree Contoh: Subordinat C adalah F dan G
Ancestor : seluruh simpul yang terletak sebelum simpul
tertentu pada jalur yang sama (nenek moyang yang
segaris)
Contoh: Ancestor dari C adalah A
Ancestor dari E adalah …
Descendant: seluruh simpul yang terletak sesudah
Istilah-Istilah simpul tertentu pada jalur yang sama (turunan)
pada Tree Contoh: Descendant dari B adalah D dan E
Descendant dari A adalah …
Sibling : simpul-simpul yang memiliki parent yang
sama dengan suatu simpul
D adalah sibling dari E
B adalah sibling dari …
Subtree: bagian dari tree yang berupa suatu simpul
Istilah-Istilah beserta descendant-nya dan memiliki semua
pada Tree karakteristik tree
Manakah contoh subtree dari tree berikut?
Root: satu-satunya simpul khusus dalam tree yang
tidak memiliki predecessor
Root dari tree berikut adalah …
Leaf: simpul-simpul dalam tree yang tidak memiliki
successor
Istilah-Istilah Leaf dari tree berikut adalah …
pada Tree
Level: tingkatan pada tree. Root memiliki level 0 (ada
juga yang menyebut 1), setiap turun satu subordinat,
level bertambah 1.
Height (/depth): banyaknya tingkatan (level) dalam
Istilah-Istilah suatu tree
pada Tree
Degree suatu simpul: banyaknya child yang dimiliki
suatu simpul
Degree simpul A adalah 2
Degree simpul D adalah …
Degree suatu tree: degree tertinggi (yang mungkin ada)
Istilah-Istilah dari degree simpul yang ada
Degree tree berikut adalah …
pada Tree Size: banyaknya simpul dalam suatu tree
Size dari tree berikut adalah …
Sistem file
Penyimpanan data dalam volume besar
Struktur data pada kasus-kasus tertentu: ekspresi aritmatika,
representasi variasi gerakan pada game, dll.
Banyak lagi
Aplikasi Tree
M-ary tree tree dengan derajat M
Jenis-Jenis Tree Binary tree tree dengan derajat 2
M menyatakan derajat tree
Contoh: M-ary tree dengan M=3
Simpul:
data
M-ary Tree
link1 link3
link2
Misal: M=3
struct Node{
char data;
struct Node *link1;
struct Node *link2;
struct Node *link3;
Representasi };
Simpul M-ary typedef struct Node Simpul;
Tree data
link1 link3
link2
Tree khusus, dengan M=2
Memiliki 0-2 anak per simpulnya
struct Node{
Binary Tree data char data;
struct Node *kiri;
struct Node *kanan;
};
kiri kanan typedef struct Node Simpul;
Terkadang untuk keperluan tertentu, misal: untuk
memudahkan penghapusan, digunakan struktur sbb.
parent
struct Node{
struct Node *parent;
Binary Tree char data;
data struct Node *kiri;
struct Node *kanan;
};
typedef struct Node Simpul;
kiri kanan
Full Binary Tree
Binary Tree yang tiap nodenya (kecuali leaf) memiliki
dua child dan tiap sub tree harus mempunyai panjang
path yang sama
Jenis Binary
Tree
Complete Binary Tree
Mirip dengan Full Binary Tree, namun tiap subtree
boleh memiliki panjang path yang berbeda. Node
kecuali leaf memiliki 0 atau 2 child
Jenis Binary
Tree
Skewed Binary Tree
Binary Tree yang semua nodenya (kecuali leaf) hanya memiliki
satu child.
Jenis Binary
Tree
Inisialisasi
Pembuatan simpul baru
Operasi pada isEmpty
Binary Tree Penambahan (insert) simpul baru
Penghapusan (delete) simpul
Pembacaan/penelusuran tree
Pemberian nilai awal pada simpul yang menjadi root
Hasil pembacaan:
Preorder: …
Inorder: …
Postorder: …
Apa saja yang sudah Anda pelajari hari ini?
30