Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package praktikum7;
- public class BinaryTree_Example {
- public static void main(String[] args) {
- BinarySearchTree tree = new BinarySearchTree(10);
- tree.add(5);
- tree.add(12);
- tree.add(20);
- tree.preorder(tree.root);
- System.out.println();
- tree.postorder(tree.root);
- }
- }
- class BinarySearchTree {
- public Node root;
- public BinarySearchTree(int data) {
- root = new Node(data);
- }
- public void add(int data) {
- root = add(root, data);
- }
- public Node add(Node current, int data) {
- if (current == null) {
- current = new Node(data);
- }
- else {
- if (data < current.data) {
- current.left = add(current.left, data);
- }
- if (data > current.data) {
- current.right = add(current.right, data);
- }
- }
- return current;
- }
- public void remove(int data) {
- root = remove(root, data);
- }
- public Node remove(Node current, int data) {
- if (current != null) {
- if (current.data == data) {
- if (current.left != null) current = current.left;
- else current = current.right;
- }
- else if (data < current.data)
- current.left = remove(current.left, data);
- else if (data > current.data)
- current.right = remove(current.right, data);
- }
- return current;
- }
- public void preorder(Node current) {
- // Cetak root, cek kiri, cek kanan
- System.out.print(current.data + " ");
- if (current.left != null) preorder(current.left);
- if (current.right != null) preorder(current.right);
- }
- public void postorder(Node current) {
- // Cek kiri, cek kanan, cetak root
- if (current.left != null) postorder(current.left);
- if (current.right != null) postorder(current.right);
- System.out.print(current.data + " ");
- }
- }
- class Node {
- public int data;
- public Node left, right;
- public Node(int data) {
- this.data = data;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement