From 20e9a2f6d676099a8dbc671701e02d4a7b5fd622 Mon Sep 17 00:00:00 2001 From: f00d Date: Thu, 12 Feb 2026 14:47:00 -0800 Subject: [PATCH 1/4] livecode orders --- src/Traversal.java | 68 ++++++++++++++++++++++++++++++++++++++++++++++ src/TreeNode.java | 12 +++++++- 2 files changed, 79 insertions(+), 1 deletion(-) diff --git a/src/Traversal.java b/src/Traversal.java index 8da0f79..6bd56e9 100644 --- a/src/Traversal.java +++ b/src/Traversal.java @@ -1,5 +1,73 @@ public class Traversal { public static void main(String[] args) { + TreeNode root = new TreeNode(10, null, null); + root.left = new TreeNode(9, null, null); + root.left.left = new TreeNode(5, null, null); + root.left.right = new TreeNode(2, null, null); + + root.right = new TreeNode(15, null, null); + root.right.left = new TreeNode(-3, null, null); + root.right.right = new TreeNode(5, null, null); + root.right.right.right = new TreeNode(22, null, null); + + //System.out.println(root.left.right.value); + preOrder(root); + System.out.println(); + postOrder(root); + System.out.println(); + inOrder(root); + } + + public static void preOrder(TreeNode node) { + if(node == null) return; + System.out.print(node.value + " "); + preOrder(node.left); + preOrder(node.right); } + public static void postOrder(TreeNode node) { + if(node == null) return; + postOrder(node.left); + postOrder(node.right); + System.out.print(node.value + " "); + } + public static void inOrder(TreeNode node) { + if(node == null) return; + inOrder(node.left); + System.out.print(node.value + " "); + inOrder(node.right); + } + + //These are all how I initially built the methods ahead of you: + + // public static void preOrder(TreeNode node){ + // System.out.print(node.value + " "); + // if(node.left != null){ + // preOrder(node.left); + // } + // if(node.right != null){ + // preOrder(node.right); + // } + // } + // public static void postOrder(TreeNode node){ + + // if(node.left != null){ + // postOrder(node.left); + // } + // if(node.right != null){ + // postOrder(node.right); + // } + // System.out.print(node.value + " "); + // } + // public static void inOrder(TreeNode node){ + + // if(node.left != null){ + // inOrder(node.left); + // } + // System.out.print(node.value + " "); + // if(node.right != null){ + // inOrder(node.right); + // } + + // } } diff --git a/src/TreeNode.java b/src/TreeNode.java index acd9639..38c440f 100644 --- a/src/TreeNode.java +++ b/src/TreeNode.java @@ -1,4 +1,14 @@ public class TreeNode { - + public int value; + + public TreeNode left; + public TreeNode right; + + + public TreeNode(int value, TreeNode left, TreeNode right){ + this.value = value; + this.left = left; + this.right = right; + } } \ No newline at end of file From 5991aea2540e3de70ca671278c186a726bc192ba Mon Sep 17 00:00:00 2001 From: f00d Date: Tue, 17 Feb 2026 15:17:25 -0800 Subject: [PATCH 2/4] tree livecode 2 --- src/Traversal.java | 60 ++++++++++++++++++++++++++++++++++------------ src/TreeNode.java | 10 ++++---- 2 files changed, 50 insertions(+), 20 deletions(-) diff --git a/src/Traversal.java b/src/Traversal.java index 6bd56e9..c8e335b 100644 --- a/src/Traversal.java +++ b/src/Traversal.java @@ -1,37 +1,67 @@ public class Traversal { public static void main(String[] args) { - TreeNode root = new TreeNode(10, null, null); + TreeNode root = new TreeNode<>(10, null, null); - root.left = new TreeNode(9, null, null); - root.left.left = new TreeNode(5, null, null); - root.left.right = new TreeNode(2, null, null); + root.left = new TreeNode<>(9, null, null); + root.left.left = new TreeNode<>(5, null, null); + root.left.right = new TreeNode<>(2, null, null); - root.right = new TreeNode(15, null, null); - root.right.left = new TreeNode(-3, null, null); - root.right.right = new TreeNode(5, null, null); - root.right.right.right = new TreeNode(22, null, null); + root.right = new TreeNode<>(15, null, null); + root.right.left = new TreeNode<>(-3, null, null); + root.right.right = new TreeNode<>(5, null, null); + root.right.right.right = new TreeNode<>(22, null, null); - //System.out.println(root.left.right.value); - preOrder(root); + TreeNode stringRoot = new TreeNode<>("root", null, null); + stringRoot.left = new TreeNode<>("9", null, null); + stringRoot.left.left = new TreeNode<>("5", null, null); + stringRoot.left.right = new TreeNode<>("2", null, null); + + stringRoot.right = new TreeNode<>("15", null, null); + stringRoot.right.left = new TreeNode<>("-3", null, null); + stringRoot.right.right = new TreeNode<>("5", null, null); + stringRoot.right.right.right = new TreeNode<>("22", null, null); + + //System.out.println(stringRoot.left.right.value); + preOrder(stringRoot); + System.out.println(); + postOrder(stringRoot); System.out.println(); - postOrder(root); + inOrder(stringRoot); System.out.println(); - inOrder(root); + + //printGreater(root, 5); + + System.out.println(countNode(root)); + } + + public static int countNode(TreeNode node){ + if(node == null) return 0; + return countNode(node.left) + countNode(node.right) + 1; + //if(node != null) {return countNode(node.left) + countNode(node.right) + 1;} else return 0; + } + public static void printGreater(TreeNode node, int threshold){ + + if(node == null) return; + if(node.value > threshold){ + System.out.print(node.value + " "); + } + printGreater(node.left, threshold); + printGreater(node.right, threshold); } - public static void preOrder(TreeNode node) { + public static void preOrder(TreeNode node) { if(node == null) return; System.out.print(node.value + " "); preOrder(node.left); preOrder(node.right); } - public static void postOrder(TreeNode node) { + public static void postOrder(TreeNode node) { if(node == null) return; postOrder(node.left); postOrder(node.right); System.out.print(node.value + " "); } - public static void inOrder(TreeNode node) { + public static void inOrder(TreeNode node) { if(node == null) return; inOrder(node.left); System.out.print(node.value + " "); diff --git a/src/TreeNode.java b/src/TreeNode.java index 38c440f..b1fff5c 100644 --- a/src/TreeNode.java +++ b/src/TreeNode.java @@ -1,12 +1,12 @@ -public class TreeNode { +public class TreeNode { - public int value; + public T value; - public TreeNode left; - public TreeNode right; + public TreeNode left; + public TreeNode right; - public TreeNode(int value, TreeNode left, TreeNode right){ + public TreeNode(T value, TreeNode left, TreeNode right){ this.value = value; this.left = left; this.right = right; From 9a1e6309d49c298fae433bb2b06a4cd9284ccac9 Mon Sep 17 00:00:00 2001 From: f00d Date: Thu, 19 Feb 2026 14:29:21 -0800 Subject: [PATCH 3/4] toMap Implemented --- src/Traversal.java | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/src/Traversal.java b/src/Traversal.java index c8e335b..d3fb35a 100644 --- a/src/Traversal.java +++ b/src/Traversal.java @@ -1,3 +1,7 @@ + +import java.util.HashMap; +import java.util.Map; + public class Traversal { public static void main(String[] args) { TreeNode root = new TreeNode<>(10, null, null); @@ -22,16 +26,18 @@ public static void main(String[] args) { stringRoot.right.right.right = new TreeNode<>("22", null, null); //System.out.println(stringRoot.left.right.value); - preOrder(stringRoot); - System.out.println(); - postOrder(stringRoot); - System.out.println(); - inOrder(stringRoot); - System.out.println(); + // preOrder(stringRoot); + // System.out.println(); + // postOrder(stringRoot); + // System.out.println(); + // inOrder(stringRoot); + // System.out.println(); - //printGreater(root, 5); + // printGreater(root, 5); - System.out.println(countNode(root)); + // System.out.println(countNode(root)); + + System.out.println(toMap(stringRoot)); } public static int countNode(TreeNode node){ @@ -68,6 +74,19 @@ public static void inOrder(TreeNode node) { inOrder(node.right); } + public static Map toMap(TreeNode node){ + Map returnMap = new HashMap<>(); + toMap(node, returnMap); + return returnMap; + } + private static void toMap(TreeNode node, Map returnMap){ + if(node == null) return; + returnMap.put(node.value, returnMap.getOrDefault(node.value, 0) + 1); + + toMap(node.left, returnMap); + toMap(node.right, returnMap); + } + //These are all how I initially built the methods ahead of you: // public static void preOrder(TreeNode node){ From 7cbcfd523286661cd3952a84e8cc024ad8dc7650 Mon Sep 17 00:00:00 2001 From: f00d Date: Wed, 4 Mar 2026 17:59:54 -0800 Subject: [PATCH 4/4] tree --- src/Traversal.java | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/src/Traversal.java b/src/Traversal.java index d3fb35a..a89661b 100644 --- a/src/Traversal.java +++ b/src/Traversal.java @@ -1,6 +1,9 @@ import java.util.HashMap; +import java.util.LinkedList; import java.util.Map; +import java.util.Queue; +import java.util.Stack; public class Traversal { public static void main(String[] args) { @@ -37,7 +40,44 @@ public static void main(String[] args) { // System.out.println(countNode(root)); - System.out.println(toMap(stringRoot)); + // System.out.println(toMap(stringRoot)); + + TreeNode megaRoot = new TreeNode(1, null, null); + + TreeNode current = megaRoot; + + for (int i = 2; i <= 5000; i++) { + current.right = new TreeNode(i, null, null); + current = current.right; + } + levelOrderIter(root); + } + + public static void preOrderIter(TreeNode node){ + Stack> stack = new Stack<>(); + + stack.push(node); + + while(!stack.empty()){ + TreeNode current = stack.pop(); + if(current == null) continue; + System.out.print(current.value + " "); + stack.push(current.left); + stack.push(current.right); + } + } + public static void levelOrderIter(TreeNode node){ + Queue> stack = new LinkedList<>(); + + stack.add(node); + + while(!stack.isEmpty()){ + TreeNode current = stack.poll(); + if(current == null) continue; + System.out.print(current.value + " "); + stack.add(current.left); + stack.add(current.right); + } } public static int countNode(TreeNode node){