From 44357a86f6571367ab006976fec07624e5f04b6e Mon Sep 17 00:00:00 2001 From: leoraggy Date: Thu, 12 Feb 2026 14:49:07 -0800 Subject: [PATCH 1/4] Compelted live code --- src/Traversal.java | 32 ++++++++++++++++++++++++++++++++ src/TreeNode.java | 10 +++++++++- 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/src/Traversal.java b/src/Traversal.java index 8da0f79..ddca40b 100644 --- a/src/Traversal.java +++ b/src/Traversal.java @@ -1,5 +1,37 @@ public class Traversal { public static void main(String[] args) { + TreeNode root = new TreeNode(2, null, null); + root.right = new TreeNode(1, null, null); + root.right.left = new TreeNode(7, null, null); + root.right.left.left = new TreeNode(4, null, null); + root.right.left.left.left = new TreeNode(3, null, null); + root.right.left.left.right = new TreeNode(5, null, null); + root.right.right = new TreeNode(6, null, null); + root.right.right.right = new TreeNode(9, null, null); + root.right.right.right.left = new TreeNode(8, null, null); + + inorder(root); + } + + public static void preorder(TreeNode node){ + if(node == null) return; + System.out.println(node.value); + preorder(node.left); + preorder(node.right); + } + + public static void inorder(TreeNode node){ + if(node == null) return; + inorder(node.left); + System.out.print(node.value + " "); + inorder(node.right); + } + + public static void postorder(TreeNode node){ + if(node == null) return; + postorder(node.left); + postorder(node.right); + System.out.print(node.value + " "); } } diff --git a/src/TreeNode.java b/src/TreeNode.java index acd9639..4ae46c5 100644 --- a/src/TreeNode.java +++ b/src/TreeNode.java @@ -1,4 +1,12 @@ 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 d51f27ce936831deb063713feef649b219e99a6c Mon Sep 17 00:00:00 2001 From: leoraggy Date: Tue, 17 Feb 2026 14:36:42 -0800 Subject: [PATCH 2/4] Completed livecode 3 --- src/Traversal.java | 55 +++++++++++++++++++++++++++++++++------------- src/TreeNode.java | 10 ++++----- 2 files changed, 45 insertions(+), 20 deletions(-) diff --git a/src/Traversal.java b/src/Traversal.java index ddca40b..3ec636d 100644 --- a/src/Traversal.java +++ b/src/Traversal.java @@ -1,33 +1,58 @@ public class Traversal { public static void main(String[] args) { - TreeNode root = new TreeNode(2, null, null); - root.right = new TreeNode(1, null, null); - root.right.left = new TreeNode(7, null, null); - root.right.left.left = new TreeNode(4, null, null); - root.right.left.left.left = new TreeNode(3, null, null); - root.right.left.left.right = new TreeNode(5, null, null); - root.right.right = new TreeNode(6, null, null); - root.right.right.right = new TreeNode(9, null, null); - root.right.right.right.left = new TreeNode(8, null, null); - - inorder(root); + TreeNode root = new TreeNode<>(2, null, null); + root.left = new TreeNode<>(1, null, null); + root.left.left = new TreeNode<>(7, null, null); + root.left.right = new TreeNode<>(4, null, null); + + root.right = new TreeNode<>(3, null, null); + root.right.left = new TreeNode<>(5, null, null); + root.right.right = new TreeNode<>(6, null, null); + root.right.right = new TreeNode<>(9, null, null); + root.right.right.right = new TreeNode<>(8, null, null); + + TreeNode stringRoot = new TreeNode<>("hello",null,null); + stringRoot.left = new TreeNode<>("how", null, null); + stringRoot.left.left = new TreeNode<>("are", null, null); + stringRoot.left.right = new TreeNode<>("you", null, null); + + stringRoot.right = new TreeNode<>("I", null, null); + stringRoot.right.left = new TreeNode<>("am", null, null); + stringRoot.right.right = new TreeNode<>("so", null, null); + stringRoot.right.right.right = new TreeNode<>("good", null, null); + + printGreater(root); + } + + public static int countNodes(TreeNode node){ + return node == null ? 0 : 1 + countNodes(node.left) + countNodes(node.right); + } + + public static void printGreater(TreeNode node, int threshold){ + if(node == null) return; + if(node.value > threshold){ + System.out.println(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.println(node.value); + System.out.println(node.value); preorder(node.left); preorder(node.right); } - public static void inorder(TreeNode node){ + public static void inorder(TreeNode node){ if(node == null) return; inorder(node.left); System.out.print(node.value + " "); inorder(node.right); } - public static void postorder(TreeNode node){ + public static void postorder(TreeNode node){ if(node == null) return; postorder(node.left); postorder(node.right); diff --git a/src/TreeNode.java b/src/TreeNode.java index 4ae46c5..23beaec 100644 --- a/src/TreeNode.java +++ b/src/TreeNode.java @@ -1,9 +1,9 @@ -public class TreeNode { - public int value; - public TreeNode left; - public TreeNode right; +public class TreeNode { + public T value; + 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 645d8d4a3cc82fb2f033aaa2735cb365eac340da Mon Sep 17 00:00:00 2001 From: leoraggy Date: Thu, 19 Feb 2026 14:30:21 -0800 Subject: [PATCH 3/4] Completed livecode 3 --- src/{Traversal.java => toMap.java} | 42 +++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 9 deletions(-) rename src/{Traversal.java => toMap.java} (65%) diff --git a/src/Traversal.java b/src/toMap.java similarity index 65% rename from src/Traversal.java rename to src/toMap.java index 3ec636d..e22dec3 100644 --- a/src/Traversal.java +++ b/src/toMap.java @@ -1,4 +1,8 @@ -public class Traversal { + +import java.util.HashMap; +import java.util.Map; + +public class toMap { public static void main(String[] args) { TreeNode root = new TreeNode<>(2, null, null); root.left = new TreeNode<>(1, null, null); @@ -12,16 +16,35 @@ public static void main(String[] args) { root.right.right.right = new TreeNode<>(8, null, null); TreeNode stringRoot = new TreeNode<>("hello",null,null); - stringRoot.left = new TreeNode<>("how", null, null); - stringRoot.left.left = new TreeNode<>("are", null, null); - stringRoot.left.right = new TreeNode<>("you", null, null); + stringRoot.left = new TreeNode<>("hello", null, null); + stringRoot.left.left = new TreeNode<>("hello", null, null); + stringRoot.left.right = new TreeNode<>("hello", null, null); - stringRoot.right = new TreeNode<>("I", null, null); + stringRoot.right = new TreeNode<>("am", null, null); stringRoot.right.left = new TreeNode<>("am", null, null); - stringRoot.right.right = new TreeNode<>("so", null, null); + stringRoot.right.right = new TreeNode<>("am", null, null); stringRoot.right.right.right = new TreeNode<>("good", null, null); - printGreater(root); + // printGreater(root, 19); + System.out.println(toMap(stringRoot)); + } + + public static Map toMap(TreeNode node){ + Map counts = new HashMap<>(); + toMap(node, counts); + return counts; + } + + private static void toMap(TreeNode node, Map counts){ + if(node == null){ + return; + } + + // fill up those counts + counts.put(node.value, counts.getOrDefault(node.value, 0) + 1); + + toMap(node.left, counts); + toMap(node.right, counts); } public static int countNodes(TreeNode node){ @@ -57,6 +80,7 @@ public static void postorder(TreeNode node){ postorder(node.left); postorder(node.right); System.out.print(node.value + " "); - } -} + + +} \ No newline at end of file From 0e5b8c66204a4eb51c6693774ed92fbbb0c2798d Mon Sep 17 00:00:00 2001 From: leoraggy Date: Tue, 24 Feb 2026 16:41:39 -0800 Subject: [PATCH 4/4] PUSH --- src/toMap.java | 68 +++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 59 insertions(+), 9 deletions(-) diff --git a/src/toMap.java b/src/toMap.java index e22dec3..c57441c 100644 --- a/src/toMap.java +++ b/src/toMap.java @@ -1,6 +1,7 @@ import java.util.HashMap; import java.util.Map; +import java.util.Stack; public class toMap { public static void main(String[] args) { @@ -25,8 +26,64 @@ public static void main(String[] args) { stringRoot.right.right = new TreeNode<>("am", null, null); stringRoot.right.right.right = new TreeNode<>("good", null, null); - // printGreater(root, 19); - System.out.println(toMap(stringRoot)); + TreeNode megaRoot = new TreeNode(1, null, null); + + TreeNode current = megaRoot; + + for(int i = 2; i <= Integer.MAX_VALUE; i++){ + current.right = new TreeNode(i, null, null); + current = current.right; + } + // System.out.println("Preorder recursive"); + // preorder(root); + // System.out.println("Preorder iterative"); + // preOrderIter(root); + preOrderIter(megaRoot); + + // System.out.println(toMap(stringRoot)); + } + + public static void levelOrder(TreeNode node){ + Queue> queue = new LinkedList<>(); + + queue.add(node); + + while(!queue.isEmpty()){ + TreeNode current = queue.poll(); + + if(current == null){ + continue; + } + + System.out.print(current.value + " "); + queue.add(current.left); + queue.add(current.right); + } + } + + public static void preorder(TreeNode node){ + if(node == null) return; + System.out.println(node.value); + preorder(node.left); + preorder(node.right); + } + + public static void preOrderIter(TreeNode node){ + Stack> stack = new Stack<>(); + stack.push(node); + + while(!stack.isEmpty()){ + TreeNode current = stack.pop(); + + if(current == null){ + continue; + } + + System.out.println(current.value); + stack.push(current.right); + stack.push(current.left); + + } } public static Map toMap(TreeNode node){ @@ -61,13 +118,6 @@ public static void printGreater(TreeNode node, int threshold){ printGreater(node.right,threshold); } - public static void preorder(TreeNode node){ - if(node == null) return; - System.out.println(node.value); - preorder(node.left); - preorder(node.right); - } - public static void inorder(TreeNode node){ if(node == null) return; inorder(node.left);