You are on page 1of 7
BAB Vill Binary Tree Traversals binary tree traversal adalah Proses mengunjungi node tepat satu kali dan tiap node hanya boleh memiliki maksimal 2 subtree yang disebut sebagai sub pohon kiri (left subtree) dan sub pohon kanan (right subtree). 1, Postorder Dilaksanakan dengan jalan melakukan kunjungan ke subtree kiri, lalu ke subtree kanan, dan selanjutnya mencetak isi node yang dikunjungi Catatan : menggunakan 2 class, Ex program class Node { int key; Node left, right; public Node(int item) { key = item; left = right = null; } class BinaryTree { 1/ Root of Binary Tree Node root; BinaryTree() wruktur Data root = null; / Given a binary tree, print its nodes according to the “pottom-up" postorder traversal. */ void printPostorder(Node node) { if (node == null) retum; II first recur on left subtree printPostorder(node.left); //then recur on right subtree printPostorder(node. right); // now deal with the node System.out.print(node.key +""); } /I Wrappers over above recursive functions void printPostorder() { — printPostorder(root); } public static void main(String[] args) { BinaryTree tree = new BinaryTree(); tree.root = new Node(1); tree.root.left = new Node(2); tree.root right = new Node(a): tree root left left = new Node(4); tree.root.left.right = new Node(5); System.out.printin("\nPostorder traversal of binary tree is "); tree.printPostorder(); 2. Inorder Dilaksanakan dengan jalan melakukan kunjungan ke subtree kiri, mencetak isi node yang dikunjungi, lalu melakukan kunjungan ke subtree kanan. Catatan : menggunakan 2 class. Ex program : class Node { int key; Node left, right; public Node(int item) it key = item; left = right = null; } class BinaryTree { /! Root of Binary Tree Stuktur Data a Node root; BinaryTree() { root = null; } Given a binary tree, print its nodes in inorder*/ void printInorder(Node node) { if (node == null) return; /* first recur on left child */ printInorder(node. left); /* then print the data of node */ System.out.print(node.key +"); /* now recur on right child * printinorder(node.right); } void printinorder() { — printinorder(root); } 1 Driver method public static void main(String[] args) { BinaryTree tree = new BinaryTree(); tree.root = new Node(1); Suku Data tree.root left = new Node(2); tree.root.right = new Node(3); tree. root.left.left = new Node(4); tree.root.left.right = new Node(5); ‘System.out.printin(\ninorder traversal of binary tree is "); tree. printInorder(); 3. Preorder Dilaksanakan dengan jalan mencetak isi node yang dikunjungi lalu melakukan kunjungan ke subtree kiri dan selanjutnya ke subtree kanan Catatan : menggunakan 2 class Ex program : class Node { int key; Node left, right; Public Node(int item) { key = item; left = right = null; class BinaryTree { Ktur Data 11 Root of Binary Tree Node root; BinaryTree() { root = null; } I" Given a binary tree, print its nodes in preorder"! void printPreorder(Node node) /* first print data of node */ System.out.print(node.key +"); /* then recur on left sutree */ printPreorder(node left); /* now recur on right subtree */ printPreorder(node.right); } void printPreorder() { _ printPreorder(root); } 1 Driver method public static void main(Stringl] args) { BinaryTree tree = new BinaryTree(); ktur Data Struktup Data tree.root = new Node(1); tree.root.left = new Node(2); tree.root.right = new Node(3); tree.root.left.left = new Node(4); tree. root left right = new Node(5); System.out.printin("Preorder traversal of binary tree is"), tree. printPreorder();

You might also like