Tuesday 16 November 2010

POHON BINER ( BINARY TREE )

Contoh Aplikasi Binary Tree :

1.Interface


2.Tampilan PreOrder


3.Tampilan InOrder


4.Tampilan PostOrder


Pohon biner



Dalam ilmu komputer, sebuah pohon biner (binary tree) adalah sebuah pohon struktur data dimana setiap simpul memiliki paling banyak dua anak. Secara khusus anaknya dinamakan kiri dan kanan. Penggunaan secara umum pohon biner adalah Pohon biner terurut.

Node

Sebuah Simpul dapat mengandung sebuah nilai atau suatu kondisi atau menggambarkan sebuah struktur data terpisah atau sebuah bagian pohon itu sendiri. Setiap simpul dalam sebuah pohon memiliki nol atau lebih simpul anak (child nodes), yang berada dibawahnya dalam pohon (menurut perjanjian, pohon berkembang ke bawah, tidak seperti yang dilakukannya di alam). Sebuah simpul yang memiliki anak dinamakan simpul ayah (parent node) atau simpul leluhur (ancestor node) atau superior . Sebuah simpul paling banyak memiliki satu ayah. Tinggi dari pohon adalah panjang maksimal jalan ke sebuah daun dari simpul tersebut. Tinggi dari akar adalah tinggi dari pohon. Kedalaman dari sebuah simpul adalah panjang jalan ke akarnya dari simpul tersebut.

Root Nodes

Simpul yang paling atas dalam pohon adalah akar (root node). Menjadi simpul teratas, simpul akar tidak akan memiliki orang tua. Ini merupakan simpul di mana biasanya merupakan tempat untuk memulai operasi dalam pohon (walaupun beberapa algoritma dimulai dengan daun dan berakhir pada akar). Semua simpul yang lain dapat dicapai dari akar dengan menelusuri pinggiran atau pranala. (Dalam definisi resmi, setiap jalan adalah khas). Dalam diagram, ini secara khusus di gambar paling atas. Di beberapa pohon, seperti heap, akar memiliki sifat khusus. Setiap simpul dalam sebuah pohon dapat dilihat sebagai akar dari sub pohon yang berakar pada simpul tersebut.

Leaf Nodes


9, 14, 19, 67 dan 76 adalah daun.
Semua simpul yang berada pada tingkat terendah dari pohon dinamakan daun (leaf node). Sejak mereka terletak pada tingkat paling bawah, mereka tidak memiliki anak satupun. Seringkali, daun merupakan simpul terjauh dari akar. Dalam teori grafik, sebuah daun adalah sebuah sudut dengan tingkat 1 selain akar (kecuali jika pohonnya hanya memiliki satu sudut; maka akarnya adalah daunnya juga). Setiap pohon memiliki setidaknya satu daun.
Dalam pohon berdasarkan genetic programming sebuah daun (juga dibilang terminal) adalah bagian terluar dari sebuah program pohon. Jika dibandingkan dengan fungsinya atau simpul dalam, daun tidak memiliki argumen. Di banyak kasus dalam daun-GP input ke programnya.

Internal Nodes

Sebuah simpul dalam adalah semua simpul dari pohon yang memiliki anak dan bukan merupakan daun. Beberapa pohon hanya menyimpan data didalam simpul dalam, meskipun ini mempengaruhi dinamika penyimpanan data dalam pohon. Sebegai contoh, dengan daun yang kosong, seseorang dapat menyimpan sebuah pohon kosong dengan satu daun. Bagaimanapun juga dengan daun yang dapat menyimpan data, tidak dimungkinkan untuk menyimpan pohon kosong kecuali jika seseorang memberikan beberapa jenis penanda data di daun yang menandakan bahwa daun tersebut seharusnya kosong (dengan demikian pohon itu seharusnya kosong juga).

Metode Traversal Pohon Biner

Seringkali, seseorang berkeinginan untuk mengunjungi simpul dalam pohon dan menjalankan beberapa penyusunan perintahnya disana. Terdapat umum dimana simpul-simpuk tersebut dapat dikunjungi, dan setiap simpul memiliki sifat-sifat yang berguna yang dimanfaatkan dalam algoritma yang berdasarkan pada pohon biner.

1. Untuk menjelajahi sebuah pohon biner yang tidak kosong di preorder, melakukan operasi berikut secara rekursif pada setiap node, dimulai dengan simpul akar:

1. Kunjungi akar.
2. Melintasi subpohon kiri.
3. Melintasi subpohon kanan.

2. Untuk menjelajahi sebuah pohon biner tidak kosong di inorder (simetris), melakukan operasi berikut secara rekursif pada setiap node:

1. Melintasi subpohon kiri.
2. Kunjungi akar.
3. Melintasi subpohon kanan.

3. Untuk menjelajahi sebuah pohon biner tidak kosong di postorder, melakukan operasi berikut secara rekursif pada setiap node:

1. Melintasi subpohon kiri.
2. Melintasi subpohon kanan.
3. Kunjungi akar.


Contoh



Di Dalam Pohon Binary ini jika disusun secara :
• Penyusunan Secara PreOrder ( Belum Disusun ) : F, B, A, D, C, E, G, I, H (root, left, right)
• Penyusunan Secara InOrder : A, B, C, D, E, F, G, H, I (left, root, right)
• Penyusunan Secara PostOrder: A, C, E, D, B, H, I, G, F (left, right, root)


Contoh Jika Dimasukkan kedalam bentuk Logika Stack :




Penggunaan Pohon Biner Secara Umum adalah :

• Memanipulasi data secara hierarki
• Membuat informasi mudah untuk dicari
• Memanipulasi data sorted lists