From d3f7f4efbbb7e5e0ead43bd0167855bcd36e0df1 Mon Sep 17 00:00:00 2001 From: jwansek Date: Fri, 19 Mar 2021 01:00:38 +0000 Subject: added Tree data structure --- TreeExample.java | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 TreeExample.java (limited to 'TreeExample.java') diff --git a/TreeExample.java b/TreeExample.java new file mode 100644 index 0000000..ab6eebe --- /dev/null +++ b/TreeExample.java @@ -0,0 +1,63 @@ + + +public class TreeExample> extends Tree { + + // for real implementations this would be much more complicated + public boolean add(T o) { + root.add(new TreeNode(o)); + return true; + } + + public boolean remove(T o) { + throw new UnsupportedOperationException(); + } + + public static void main(String[] args) { + Tree t = new TreeExample<>(); + t.root=new Tree.TreeNode("ARSENAL"); + + t.root.add(new Tree.TreeNode("Forty")); + t.root.add(new Tree.TreeNode("Nine")); + t.root.add(new Tree.TreeNode("Undefeated")); + + t.root.children.get(0).add(new Tree.TreeNode("I")); + t.root.children.get(0).add(new Tree.TreeNode("Bet")); + t.root.children.get(1).add(new Tree.TreeNode("You")); + t.root.children.get(2).add(new Tree.TreeNode("Are")); + t.root.children.get(2).add(new Tree.TreeNode("Sick")); + t.root.children.get(2).add(new Tree.TreeNode("Of")); + t.root.children.get(2).add(new Tree.TreeNode("Arsenal")); + t.root.children.get(2).children.get(1).add(new Tree.TreeNode("Examples")); + + String[] testy={"Arsenal","Totts"}; + System.out.println("iterative breadth first search:"); + for (String s : testy) { + if (t.iterativeBreadthFirstContains(s)) { + System.out.println("Tree contains " + s); + } else { + System.out.println("Tree doesn't contain " + s); + } + } + System.out.println("recursive depth first search:"); + for (String s : testy) { + if (t.recursiveDepthFirstContains(s)) { + System.out.println("Tree contains " + s); + } else { + System.out.println("Tree doesn't contain " + s); + } + } + System.out.println("iterative breadth first search:"); + for (String s : testy) { + if (t.iterativeDepthFirstContains(s)) { + System.out.println("Tree contains " + s); + } else { + System.out.println("Tree doesn't contain " + s); + } + } + + System.out.println("\nbreadth first iteration"); + for (String s : t.new BreadthFirstIterator()) { + System.out.println(s); + } + } +} -- cgit v1.2.3