Program Binary Tree PreOrder, InOrder dan PostOrder
Program Binary Tree PreOrder, InOrder dan PostOrder JavaScript
Program Binary Tree PreOrder, InOrder dan PostOrder - Pohon (tree) merupakan sekumpulan akar (root), cabang, serta simpul (node) yang saling terhubung secara hirarki (terstruktur). Pohon Biner atau yang kita ketahui yaitu binary tree merupakan pohon yang dimana setiap simpulnya (node) hanya bisa memiliki maksimal 2 anak yaitu dari cabang kiri dan kanan.
Simpul atau node terbagi menjadi 2 :
- Simpul anak (children) yang hanya bisa punya 1 parent dan
- Simpul orangtua (parent) yang hanya bisa punya maksimal 2 anak namun bisa juga tidak mempunya anak.
Simpul Akar merupakan sebuah simpul yang tidak memiliki parent sedangkan
Simpul Daun merupakan simpul yang tidak memiliki anak (children)
Cabang pada pohon biner (binary tree) terdiri dari cabang kiri dan cabang kanan level yang menunjukkan tingkat hirarki.
Simpul Daun merupakan simpul yang tidak memiliki anak (children)
Cabang pada pohon biner (binary tree) terdiri dari cabang kiri dan cabang kanan level yang menunjukkan tingkat hirarki.
Simpul yang digunakan untuk membentuk suatu pohon sama seperti simpul yang digunakan pada senarai berantai ganda, yaitu :
class simpul
{
String elemen;
simpul kiri;
simpul kanan;
}
Contoh Latihan :
Buatlah binary tree dari data berikut :
20 33 12 22 35 5 21 90 18 7 16
Lakukan pelacakan dan tuliskan hasilnya secara :
a. Preorder
b. Inorder
c. Post Order
Bentuk Program
class simpul{
String elemen;
simpul kiri;
simpul kanan;
}
class latihan{
public static simpul akar;
public static void deklarasiPohon(){
akar = null;
}
public static simpul tambahSimpul(simpul Penunjuk,String ELEMEN){
if (Penunjuk == null){
simpul baru = new simpul();
baru.elemen = ELEMEN;
baru.kiri = null;
baru.kanan = null;
Penunjuk = baru;
return(Penunjuk);
}
else{
if(ELEMEN.compareTo(Penunjuk.elemen) < 0 ){
Penunjuk.kiri = tambahSimpul(Penunjuk.kiri, ELEMEN);
return(Penunjuk);}
else{
Penunjuk.kanan = tambahSimpul(Penunjuk.kanan, ELEMEN);
return(Penunjuk);}
}
}
public static void preOrder(simpul Penunjuk){
if(Penunjuk !=null){
System.out.print(Penunjuk.elemen + " ");
preOrder(Penunjuk.kiri);
preOrder(Penunjuk.kanan);
}
}
public static void inOrder(simpul Penunjuk){
if(Penunjuk != null){
inOrder(Penunjuk.kiri);
System.out.print(Penunjuk.elemen +" ");
inOrder(Penunjuk.kanan);
}
}
public static void postOrder(simpul Penunjuk){
if(Penunjuk != null){
postOrder(Penunjuk.kiri);
postOrder(Penunjuk.kanan);
System.out.print(Penunjuk.elemen + " ");
}
}
public static void main(String[] args){
deklarasiPohon();
akar =tambahSimpul(akar,"20");
akar =tambahSimpul(akar,"33");
akar =tambahSimpul(akar,"12");
akar =tambahSimpul(akar,"22");
akar =tambahSimpul(akar,"35");
akar =tambahSimpul(akar,"5");
akar =tambahSimpul(akar,"21");
akar =tambahSimpul(akar,"90");
akar =tambahSimpul(akar,"18");
akar =tambahSimpul(akar,"7");
akar =tambahSimpul(akar,"16");
System.out.print("Pre Order : ");
preOrder(akar);
System.out.print("\nIn Order : ");
inOrder(akar);
System.out.print("\nPost Order : ");
postOrder(akar);
System.out.println("");
}
}
Baca Juga :
Post a Comment for "Program Binary Tree PreOrder, InOrder dan PostOrder"