Tutorial Bahasa Pemrograman C Tree Inorder

19:38 Pemrograman Web 2 Comments


Hallo, kali ini aku mau bahas tentang tree inorder dalam bahasa C dibawah  ini penjelasan lengkapnya, jika ada kesulitkan silahkan tuliskan pertanyaan kalian di kolom komentar!


1.       Pengertian tree

Tree adalah Kumpulan node yang saling terhubung satu sama lain dalam suatu kesatuan yang membentuk layakya struktur sebuah pohon. Struktur pohon adalah suatu cara merepresentasikan suatu struktur hirarki (one-to-many) secara grafis yang mirip sebuah pohon, walaupun pohon tersebut hanya tampak sebagai kumpulan node-node dari atas ke bawah. Suatu struktur data yang tidak linier yang menggambarkan hubungan yang hirarkis (one-to-many) dan tidak linier antara elemen-elemennya.
2.       Fakta-fakta 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 yang lain (tidak ada siklus dalam sebuah tree)
Kumpulan child-child dari sebuah node, mereka sendiri juga merupakan sebuah tree € disebut sebagai subtree

3.        Langkah-langkah Pembentukan Binary Tree
1.       Siapkan node baru
2.       alokasikan memory-nya
3.       masukkan info-nya
4.       set pointer kiri & kanan = NULL
5.       Sisipkan pada posisi yang tepat
6.       penelusuran € utk menentukan posisi yang tepat; info yang nilainya lebih besar dari parent akan ditelusuri di sebelah kanan, yang lebih kecil dari parent akan ditelusuri di sebelah kiri
7.       penempatan € info yang nilainya lebih dari parent akan ditempatkan di sebelah kanan, yang lebih kecil di sebelah kiri


4.       AlgoritmaPembentukan Binary Tree
1.       Buat node baru (baru)
2.       Cek apakah root = NULL,
3.       jika ya, maka root = baru, melompat ke langkah 9 jika tidak, maka lakukan langkah-langkah berikut
4.       Mencari posisi yang tepat untuk baru, tentukan P = root, Q = root
5.       Kerjakan langkah 5 dan 6 selama (Q <> NULL) dan  (baru->info <> P->info)
6.       Tentukan P = Q
7.       Cek apakah baru->info < P->info
8.       jika ya, (teruskan ke cabang kiri), tentukan Q = P->kiri
9.       jika tidak, (teruskan ke cabang kanan), tentukan Q = P->kanan
10.   Cek apakah baru->info = P->info
11.   jika ya, (tidak perlu disisipkan), tampilkan pesan duplikasi, lompat ke langkah 9 jika tidak, (sisipkan), kerjakan langkah 8
12.   Cek apakah baru->info < P->info
13.   jika ya, (sebagai cabang kiri) P->kiri = baru
14.   jika tidak, (sebagai cabang kanan) P->kanan = baru
15.   Selesai


5.       Metode Traversal
Salah satu operasi yang paling umum dilakukan terhadap sebuah tree adalah kunjungan (traversing)
Sebuah kunjungan berawal dari root, mengunjungi setiap node dalam tree tersebut tepat hanya sekali
–             Mengunjungi artinya memproses data/info yang ada pada node yangbersangkutan:
Kunjungan bisa dilakukan dengan 3 cara:
·         Preorder
·         Inorder
·         Postorder
Ketiga macam kunjungan tersebut bisa dilakukan secara rekursif

Inorder Traversal
(symetric order)
1.       Kunjungi cabang kiri
2.       cetak info pada node yang dikunjungi
3.       Kunjungi cabang kanan

Inorder Traversal
(symetric order)















Hasil penelusuran secara inorder : A B C D H J K L



Algoritma Inorder (rekursif)
1.       inorder(root)
2.       Jika root           <>        NULL, lakukan langkah 2 sampai dengan 4
3.       Panggil fungsi : inorder(root->kiri)
4.       Cetak root->info
5.       Panggil fungsi : inorder(root->kanan)


Materi ini bersumber pada diktat dan buku kuliah algoritma dan struktur data.
 Restiyana Dwi Astuti - 1154077 - Algoritma dan Struktur Data

2 komentar: