Diktat_Prosedural_12_Pohon

1 2011 2012tgl revisi 21 nov 2011 12 draft diktat

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Akar(P) : { Delete simpul ini } q←P if Right(q) = Nil then p ← Left(q) else if Left(q) = Nil then p ← Right(q) else DelNode(Left(q)) Dealokasi(q) Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 12 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB procedure DelNode(inpu/output P: BinTree) { I.S. P adalah pohon biner tidak kosong } { F.S. q berisi salinan nilai Nilai daun terkanan disalin ke q } { Proses : } { Memakai nilai q yang global} { Traversal sampai daun terkanan, copy nilai daun terkanan P, salin nilai ke q semula } { q adalah anak terkiri yang akan dihapus } KAMUS LOKAL ALGORITMA depend on P Right(P) ≠ Nil : DelNode(Right(P)) Right(P) = Nil : Key(q) ← Key(P) Count(q) ← Count(P) q←P P ← Left(P) Contoh eksekusi penghapusan node pada pohon biner terurut: 10 10 5 15 3 8 5 13 18 3 15 8 (a) (b) 10 5 8 (c) 8 10 18 3 18 3 3 18 18 8 (d) Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 (e) 13 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB Algoritma untuk Membentuk Pohon Biner dari Pita Karakter Representasi “pohon” dalam pita karakter adalah penting. Untuk persoalan ini, jika pita karakter yang isinya ekspresi pohon dalam bentuk list.. Untuk sementara, dibuat sebuah struktur dengan address Parent yang eksplisit, sehingga setiap Node adalah struktur sebagai berikut: type Node: < Parent Left Info Right : : : : address, address, character, address > Contoh pita dan pohon yang direpresentasi ( ) adalah pohon kosong, yang akan diproses secara khusus (A()()) A (A(B()())(C()())) A B (A(B()())()) C A B (A(B(C(D()())(E()()))(F(G(H(I()())(J()())) (K()()) ) A B C F D E G K H I J Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 14 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB Ide untuk membangun algoritma secara umum : Dengan menganalisis isi pita, maka ada tiga kelompok karakter: • Karena pembacaan pita dilakukan secara sekuensial, maka pembentukan pohon selalu dimulai dari akar. • Pembacaan karakter demi karakter dilakukan secara iteratif, untuk membentuk sebuah pohon, selalu dilakukan insert terhadap daun. • Karakter berupa Abjad, menandakan bahwa sebuah node harus dibentuk, entah sebagai anak kiri atau anak kanan. • Karakter berupa “(“ menandakan suatu sub pohon baru. • Jika karakter sebelumnya adalah ‘)’ maka siap untuk melakukan insert sub pohon kanan. • Jika karakter sebelumnya adalah abjad, maka siap untuk melakukan insert sub pohon kiri. • Karakter berupa “)” adalah penutup sebuah pohon, untuk kembali ke “Bapaknya”, berarti naik levelnya dan tidak melakukan apa-apa, tetapi menentukan proses karakter berikutnya. Kesimpulan: Untuk mesin akses, tidak cukup dengan mesin karakter (hanya CC), sebab untuk memproses sebuah karakter, dibutuhkan informasi karakter sebelumnya. • Jik...
View Full Document

This document was uploaded on 03/15/2014 for the course IF 2030 at Institut Teknologi Bandung.

Ask a homework question - tutors are online