Skip to content Skip to sidebar Skip to footer

Widget Atas Posting

Program Binary Tree PreOrder, InOrder dan PostOrder

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 :

  1. Simpul anak (children) yang hanya bisa punya 1 parent dan
  2. 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 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("");
  }
}

OUTPUT

Program Binary Tree PreOrder, InOrder dan PostOrder

Post a Comment for "Program Binary Tree PreOrder, InOrder dan PostOrder"