From b310d4b924b4b4e820b0eff1fc3ce5111ac0aa67 Mon Sep 17 00:00:00 2001 From: kriseattle Date: Wed, 21 May 2025 13:16:02 -0700 Subject: [PATCH 1/3] Finished preOrder method --- src/Traversal.java | 49 ++++++++++++++++++++++++++++++++++++++++++++++ src/TreeNode.java | 7 ++++++- 2 files changed, 55 insertions(+), 1 deletion(-) diff --git a/src/Traversal.java b/src/Traversal.java index 8da0f79..d5a672f 100644 --- a/src/Traversal.java +++ b/src/Traversal.java @@ -1,5 +1,54 @@ public class Traversal { public static void main(String[] args) { + TreeNode root = new TreeNode(10); + + // Root left & right + root.left = new TreeNode(9); + root.right = new TreeNode(15); + + // Child of 10's first child + root.left.left = new TreeNode(5); + root.left.right = new TreeNode(2); + + // Child of 10's second child + root.right.left = new TreeNode(-3); + root.right.right = new TreeNode(5); + + root.right.right.right = new TreeNode(22); + + System.out.println("Pre-order: "); + preOrder(root); + + } + + /** PRE - ORDER + if null : return + print data + search left + search right + */ + public static void preOrder(TreeNode current){ + + if (current == null) return; + System.out.println(current.data); + preOrder(current.left); + preOrder(current.right); } + + + /** POST - ORDER + if null : return + search left + search right + print data + */ + + + /** IN - ORDER + if null : return + search left + print data + search right + */ } diff --git a/src/TreeNode.java b/src/TreeNode.java index acd9639..c3857b5 100644 --- a/src/TreeNode.java +++ b/src/TreeNode.java @@ -1,4 +1,9 @@ public class TreeNode { + public int data; + public TreeNode left; + public TreeNode right; - + public TreeNode(int data){ + this.data = data; + } } \ No newline at end of file From 3b8eed588cedf6670a31efe2a4d5cfc96334ff92 Mon Sep 17 00:00:00 2001 From: kriseattle Date: Wed, 21 May 2025 13:17:43 -0700 Subject: [PATCH 2/3] Added code for postOrder method --- src/Traversal.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/Traversal.java b/src/Traversal.java index d5a672f..19fda81 100644 --- a/src/Traversal.java +++ b/src/Traversal.java @@ -18,6 +18,11 @@ public static void main(String[] args) { System.out.println("Pre-order: "); preOrder(root); + System.out.println(); + + System.out.println("Post-order: "); + postOrder(root); + System.out.println(); } @@ -43,6 +48,14 @@ public static void preOrder(TreeNode current){ search right print data */ + public static void postOrder(TreeNode current){ + + if (current == null) return; + preOrder(current.left); + preOrder(current.right); + System.out.println(current.data); + } + /** IN - ORDER From 5b31836877e17892187f307142bd07564be2ead0 Mon Sep 17 00:00:00 2001 From: kriseattle Date: Wed, 21 May 2025 13:19:08 -0700 Subject: [PATCH 3/3] Added code for inOrder method --- src/Traversal.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/Traversal.java b/src/Traversal.java index 19fda81..eaaa25d 100644 --- a/src/Traversal.java +++ b/src/Traversal.java @@ -24,6 +24,10 @@ public static void main(String[] args) { postOrder(root); System.out.println(); + System.out.println("In-order: "); + inOrder(root); + System.out.println(); + } /** PRE - ORDER @@ -57,11 +61,19 @@ public static void postOrder(TreeNode current){ } - /** IN - ORDER if null : return search left print data search right */ + public static void inOrder(TreeNode current){ + + if (current == null) return; + preOrder(current.left); + System.out.println(current.data); + preOrder(current.right); + + } + }