🎋Praktikum 2

Implementasi binary tree dengan array

Deskripsi

Di dalam percobaan implementasi binary tree dengan array ini, data tree disimpan dalam array dan langsung dimasukan dari method main(), dan selanjutnya akan disimulasikan proses traversal secara in-order.

Langkah Percobaan

  • Buatlah class BinaryTreeArray dan BinaryTreeArrayMain.

  • Buat atribut data dan idxLast di dalam class BinaryTreeArray. Buat juga method populateData() dan traverseInOrder().

public class BinaryTreeArray {
    int[] data;
    int idxLast;

    public BinaryTreeArray() {
        data = new int[10];
    }

    public void populateData(int[] data, int idxLast) {
        this.data = data;
        this.idxLast = idxLast;
    }

    public void traverseInOrder(int idxStart) {
        if (idxStart <= idxLast) {
            traverseInOrder(2 * idxStart + 1);
            System.out.print(data[idxStart] + " ");
            traverseInOrder(2 * idxStart + 2);
        }
    }
}
  • Kemudian dalam class BinaryTreeArrayMain buat method main().

public class BinaryTreeArrayMain {
    public static void main(String[] args) {
        BinaryTreeArray bta = new BinaryTreeArray();
        int[] data = { 6,4,8,3,5,7,9,0,0,0 };
        int idxLast = 6;
        bta.populateData(data, idxLast);
        bta.traverseInOrder(0);
    }
}
  • Jalankan class BinaryTreeArrayMain dan amati hasilnya!

Pertanyaan

  1. Apakah kegunaan dari atribut data dan idxLast yang ada di class BinaryTreeArray?

  2. Apakah kegunaan dari method populateData()?

  3. Apakah kegunaan dari method traverseInOrder()?

  4. Jika suatu node binary tree disimpan dalam array indeks 2, maka di indeks berapakah posisi left child dan rigth child masin-masing?

  5. Apa kegunaan statement int idxLast = 6 pada praktikum 2 percobaan nomor 4?

Last updated