Ringkasan mengenai Tree (Dari beberapa referensi lain) Nina Valentika December 31, 2015
Figure 1: Contoh Tree.
0.1
Pendahuluan
Tree/pohon merupakan struktur data yang tidak linear/non linear yang digunakan terutama untuk merepresentasikan hubungan data yang bersifat hierarkis antara elemen-elemennya.
0.1.1
Definisi Tree
“Kumpulan elemen yang salah satu elemennya disebut dengan root (akar) dan sisa elemen yang lain disebut sebagai simpul (node/vertex) yang terpecah menjadi sejumlah himpunan yang tidak saling berhubungan satu sama lain, yang disebut subtree/cabang”.
0.2
Istilah-istilah objek Tree
1. Simpul adalah elemen tree yang berisi informasi / data dan penunjuk pencabangan. 2. Tingkat/level suatu simpul ditentukan dari akar (root), sebagai level 1. Apabila simpul dinyatakan sebagai tingkat N, maka simpul-simpul yang merupakan anaknya berada pada tingkat N+1. 3. Derajat/degree menyatakan banyaknya anak/turunan di simpul tersebut. 4. Tinggi (height) atau kedalaman (depth) suatu tree adalah tingkat maksimum dari tingkat dalam tree tersebut dikurangi 1. 5. Ancestor suatu simpul adalah semua simpul yang terletak dalam satu jalur dengan simpul tersebut, dari akar sampai simul yang ditinjaunya. 6. Predecessor adalah simpul yang berada di atas simpul yang ditinjau. 7. Successor adalah simpul yang berada di bawah simpul yang ditinjau. 8. Descendant adalah seluruh simpul yang terletak sesudah simpul tertentu dan terletak pada jalur yang sama. 9. Sibling adalah simpul-simpul yang memiliki parent yang sama dengan simpul yang ditinjau. 10. Parent adalah simpul yang berada satu level di atas simpul yang ditinjau. 1
0.3
Fakta mengenai Tree
• Setiap node, kecuali root, memiliki tepat hanya satu parent. • Sekali sebuah link dari sebuah parent ke sebuah child diikuti, tidaklah mungkin untuk kembali ke parent-nya dengan mengikuti link lain (tidak ada siklus dalam sebuah tree). • Kumpulan child-child dari sebuah node, mereka sendiri juga merupakan sebuah tree yang disebut sebagai subtree.
0.4
Pohon Berakar
Suatu pohon berakar R adalah suatu pohon bersama dengan suatu simpul r yang dirancang/ditunjuk sebagai akar (root) dari R. • Seperti diketahui bahwa hanya terdapat satu jalur antara r dengan simpul lain v pada pohon pohon tersebut. • Panjang jalur antara r dengan simpul v disebut level atau kedalaman simpul v. • Simpul bukan akar, yang berderajat satu disebut daun. Jalur antara suatu simpul dengan suatu daun disebut cabang (branch). Contoh lain yang penting dari pohon berakar adalah pohon binar (binary tree).
0.5
Pohon Biner
Sebuah pohon biner T dapat didefinisikan sebagai sekumpulan terbatas dari elemen-elemen yang disebut nodes/simpul dimana: a. T dikatakan kosong (disebut null tree/pohon null atau empty tree/pohon kosong) b. T terdiri dari sebuah node khusus yang dipanggil R, disebut root dari T dan node-node T lainnya membentuk sebuah pasangan terurut dari binary tree T1 dan T2 yang tidak berhubungan yang kemudian dipanggil subtree kiri dan subtree kanan. Jika T1 tidak kosong maka rootnya disebut successor kiri dari R dan jika T2 tidak kosong, maka rootnya disebut successor dari R. Perhatikan ilustrasi (Lihat Fig.2) berikut: • B adalah left successor dan C adalah right successor dari simpul A. • Left subtree dari root A terdiri dari simpul B, D, E, F. • Right subtree dari root A terdiri dari simpul C, G, H, J, K, L. • F adalah left successor dari simpul E. • L adalah right successor dari simpul J.
2
Figure 2: Contoh Pohon Biner. • Depth/Height dari pohon binar T adalah banyak maksimum simpul dari cabang di T. Untuk pohon binar di atas, ketinggiannya adalah 5. Dua buah binary tree dikatakan similar/identik jika tree tersebut memiliki struktur/bentuk yang sama.
0.6
Penelusuran Binary Tree (Traversing Binary Tree)
Ada tiga cara yang standar untuk menelususi sebuah binary tree yaitu: • Preorder (Node – Left – Right [NLR]) 1. Proses root 2. Telusuri subtree kiri (Left) secara preorder 3. Telusuri subtree kanan (Right) secara preorder • Inorder (Left – Node – Right [LNR]) 1. Telusuri subtree kiri (Left) secara inorder 2. Proses root 3. Telusuri subtree kanan (Right) secara inorder • Postorder (Left – Right – Node [LNR]) 1. Telusuri subtree kiri (Left) secara postorder 2. Telusuri subtree kanan (Right) secara postorder 3. Proses root Selanjutnya, akan diberikan contoh ilustrasi penelusurannya.
3
Figure 3: Contoh Penelusuran Pohon Biner. • Secara preorder: ABDGCEHIF. • Secara inorder: DGBAHEICF. • Secara postorder: GDBHIEFCA.
4