fork download
  1. class Node {
  2. int data;
  3. Node left, right;
  4.  
  5. public Node(int item) {
  6. data = item;
  7. left = right = null;
  8. }
  9. }
  10.  
  11. class BinaryTree {
  12. Node root;
  13.  
  14. BinaryTree() {
  15. root = null;
  16. }
  17.  
  18. // Método para percorrer a árvore em ordem
  19. void inorder(Node node) {
  20. if (node != null) {
  21. inorder(node.left);
  22. System.out.print(node.data + " ");
  23. inorder(node.right);
  24. }
  25. }
  26.  
  27. // Método para percorrer a árvore em pré-ordem
  28. void preorder(Node node) {
  29. if (node != null) {
  30. System.out.print(node.data + " ");
  31. preorder(node.left);
  32. preorder(node.right);
  33. }
  34. }
  35.  
  36. // Método para percorrer a árvore em pós-ordem
  37. void postorder(Node node) {
  38. if (node != null) {
  39. postorder(node.left);
  40. postorder(node.right);
  41. System.out.print(node.data + " ");
  42. }
  43. }
  44.  
  45. public static void main(String[] args) {
  46. BinaryTree tree = new BinaryTree();
  47. // Construção da árvore
  48. tree.root = new Node(40);
  49. tree.root.left = new Node(20);
  50. tree.root.right = new Node(60);
  51. tree.root.left.left = new Node(10);
  52. tree.root.left.right = new Node(30);
  53. tree.root.right.left = new Node(50);
  54. tree.root.right.right = new Node(70);
  55.  
  56. System.out.println("Em-ordem:");
  57. tree.inorder(tree.root);
  58.  
  59. System.out.println("\nPré-ordem:");
  60. tree.preorder(tree.root);
  61.  
  62. System.out.println("\nPós-ordem:");
  63. tree.postorder(tree.root);
  64. }
  65. }
  66.  
Success #stdin #stdout 0.1s 53648KB
stdin
Standard input is empty
stdout
Em-ordem:
10 20 30 40 50 60 70 
Pré-ordem:
40 20 10 30 60 50 70 
Pós-ordem:
10 30 20 50 70 60 40