binary modul

Download Binary Modul

If you can't read please download the document

Upload: emma

Post on 11-Dec-2015

6 views

Category:

Documents


1 download

DESCRIPTION

just sharing

TRANSCRIPT

package BinaryTreel.modul;import java.util.Random;import java.util.Scanner;public class BinaryTree { // atribut static Integer[] x; // deklarasi tipe data array untuk menyimpan data pada tree static int last = 0; // posisi array terakhir(indeks array) public int size = 0; //ukuran awal, default int array = 1; //deklarasi dan inisialisasi variabel int bantuLevel = 1; //deklarasi dan inisialisasi variabel //method cetak mencetak elemen pada x[i] public void cetak(int i) { System.out.print(x[i]+" "); } //inorder traversal public void inOrder(Integer[] theArray, int theLast) { x = theArray;//inisialisasi variabel last = theLast; if (!isEmpty()) {//jika data kosong //memulai rekursi method theInOrder pada root theInOrder(1); } else { System.out.println("Binary Tree Kosong"); } } public void theInOrder(int i) {// traverse subtree(sebagai root) pada x[i] if (i last) {//jika indeks array*2 lebih besar dari last last = array * 2;//maka last = indeks array*2 } } else { array = array * 2;//array*2 sisipDt(data, array);//rekursif method sisipDt dengan parameter data, array } } else if (data > this.x[array].intValue()) {//jika data yang disisipkan lebih besar dari data pada variabel x indeks ke-array(diset 1) if (this.x[array * 2 + 1] == null) {//jika data pada variabel x indeks ke array*2+1 kosong this.x[array * 2 + 1] = new Integer(data);//membuat object baru yang berisi data yang disisipkan size++;//size bertambah 1 if (array * 2 + 1 > last) {//jika data yang disisipkan lebih besar dari data last last = array * 2 + 1;//sisip data pada node kanan } } else { array = array * 2 + 1; sisipDt(data, array);//memanggil method sisipDt dengan parameter } } } } public void buatNode(int i, int isi) {//method ini digunakan untuk membuat node baru x[i] = new Integer(isi);//membuat object baru pada data pertama size++;//size +1 last = i;//data pertama menjadi data terakhir } public void preOrder(Integer[] theArray, int theLast) {// set static data members x = theArray; last = theLast; if (!isEmpty()) {//jika data tidak kosong PreOrder(1);//rekursif method PreOrder dengan parameter 1 } else { System.out.println("Binary Tree Kosong"); } } public void PreOrder(int i) {// cetak data secara preorder if (i