From 07409bf7a18ac8c42151677c58e2f20293d22db0 Mon Sep 17 00:00:00 2001 From: Meruemon Date: Sat, 2 Jul 2022 20:40:21 +0200 Subject: [PATCH] 0005_Fifth push edited[directories], added[Trees] --- Main.java | 25 ------ MyList.java => MyList/MyList.java | 1 + .../MyListElement.java | 1 + MyPair.java => MyList/MyPair.java | 1 + .../search_algorithms.java | 5 ++ .../sort_algorithms.java | 5 +- MyTest.java | 23 ------ MyTest/MyTest.java | 77 +++++++++++++++++++ MyTrees/MyBinaryTree.java | 14 ++++ MyTrees/MyMaxHeapTree.java | 12 +++ MyTrees/MyMinHeapTree.java | 5 ++ MyTrees/MyRedBlackTree.java | 5 ++ MyTrees/MyTreeNode.java | 53 +++++++++++++ 13 files changed, 178 insertions(+), 49 deletions(-) delete mode 100644 Main.java rename MyList.java => MyList/MyList.java (99%) rename MyListElement.java => MyList/MyListElement.java (95%) rename MyPair.java => MyList/MyPair.java (96%) rename search_algorithms.java => MySearch/search_algorithms.java (95%) rename sort_algorithms.java => MySort/sort_algorithms.java (99%) delete mode 100644 MyTest.java create mode 100644 MyTest/MyTest.java create mode 100644 MyTrees/MyBinaryTree.java create mode 100644 MyTrees/MyMaxHeapTree.java create mode 100644 MyTrees/MyMinHeapTree.java create mode 100644 MyTrees/MyRedBlackTree.java create mode 100644 MyTrees/MyTreeNode.java diff --git a/Main.java b/Main.java deleted file mode 100644 index 9366930..0000000 --- a/Main.java +++ /dev/null @@ -1,25 +0,0 @@ -public class Main { - public static void main(String[] args) { - - - //Test BubbleSortInSitu - MyPair[] arrPairs = {new MyPair(2,2), new MyPair(0,0), new MyPair(1,1), new MyPair(3,3)}; - sort_algorithms.myBubbleSortInSitu(arrPairs); - System.out.println(arrPairs[0].toString() + arrPairs[1].toString() + arrPairs[2].toString() + arrPairs[3].toString()); - - //Test BubbleSortNotInSitu - MyPair[] arrPairs2 = {new MyPair(2,2), new MyPair(0,0), new MyPair(1,1), new MyPair(3,3)}; - MyPair[] arrPairs3 = sort_algorithms.myBubbleSortNotInSitu(arrPairs2); - System.out.println(arrPairs3[0].toString() + arrPairs3[1].toString() + arrPairs3[2].toString() + arrPairs3[3].toString()); - System.out.println(arrPairs2[0].toString() + arrPairs2[1].toString() + arrPairs2[2].toString() + arrPairs2[3].toString()); - - //Test SelectionSortInSitu - MyPair[] arrPairs4 = {new MyPair(2,2), new MyPair(0,0), new MyPair(1,1), new MyPair(3,3)}; - sort_algorithms.mySelectionSortInSitu(arrPairs4); - System.out.println(arrPairs4[0].toString() + arrPairs4[1].toString() + arrPairs4[2].toString() + arrPairs4[3].toString()); - - // - //sort_algorithms.myQuickSortInSitu(arrPairs2); - //System.out.println(arrPairs2[0].toString() + arrPairs2[1].toString() + arrPairs2[2].toString() + arrPairs2[3].toString()); - } -} diff --git a/MyList.java b/MyList/MyList.java similarity index 99% rename from MyList.java rename to MyList/MyList.java index e9fe87c..4018e92 100644 --- a/MyList.java +++ b/MyList/MyList.java @@ -1,3 +1,4 @@ +package MyList; public class MyList { public MyListElement first; private int size = 0; diff --git a/MyListElement.java b/MyList/MyListElement.java similarity index 95% rename from MyListElement.java rename to MyList/MyListElement.java index 7c4c0ee..c13c10f 100644 --- a/MyListElement.java +++ b/MyList/MyListElement.java @@ -1,3 +1,4 @@ +package MyList; public class MyListElement { public MyPair data; public MyListElement next; diff --git a/MyPair.java b/MyList/MyPair.java similarity index 96% rename from MyPair.java rename to MyList/MyPair.java index 7a872a0..40e1ca4 100644 --- a/MyPair.java +++ b/MyList/MyPair.java @@ -1,3 +1,4 @@ +package MyList; public class MyPair { public Object key; public Object data; diff --git a/search_algorithms.java b/MySearch/search_algorithms.java similarity index 95% rename from search_algorithms.java rename to MySearch/search_algorithms.java index 22e1a12..b8fe14f 100644 --- a/search_algorithms.java +++ b/MySearch/search_algorithms.java @@ -1,5 +1,10 @@ +package MySearch; import java.util.List; +import MyList.MyList; +import MyList.MyListElement; +import MyList.MyPair; + public class search_algorithms { //Data doesnt have to be sorted. diff --git a/sort_algorithms.java b/MySort/sort_algorithms.java similarity index 99% rename from sort_algorithms.java rename to MySort/sort_algorithms.java index 5cca608..b8b8c98 100644 --- a/sort_algorithms.java +++ b/MySort/sort_algorithms.java @@ -1,3 +1,6 @@ +package MySort; +import MyList.MyPair; + public class sort_algorithms { /** @@ -168,6 +171,6 @@ public class sort_algorithms { } private static void myHeapsortInSitu(MyPair[] arr) { - + } } diff --git a/MyTest.java b/MyTest.java deleted file mode 100644 index b9a5645..0000000 --- a/MyTest.java +++ /dev/null @@ -1,23 +0,0 @@ -import static org.junit.Assert.assertEquals; - -import org.junit.Test; - -public class MyTest { - @Test - public void testSequentailSearch() { - MyList list = new MyList(); - list.add(new MyPair(1,3)); - list.add(new MyPair(2,4)); - - assertEquals(3, search_algorithms.sequentielSearchList(1, list).data); - assertEquals(4, search_algorithms.sequentielSearchList(2, list).data); - } - - @Test - public void testBinarySearch() { - MyPair[] pairs = {new MyPair(1,3), new MyPair(2,4)}; - - assertEquals(3, search_algorithms.binarySearch(1, pairs).data); - assertEquals(4, search_algorithms.binarySearch(2, pairs).data); - } -} diff --git a/MyTest/MyTest.java b/MyTest/MyTest.java new file mode 100644 index 0000000..3c5b5d8 --- /dev/null +++ b/MyTest/MyTest.java @@ -0,0 +1,77 @@ +package MyTest; +import static org.junit.Assert.assertEquals; + +import org.junit.Test; + +import MyList.MyList; +import MyList.MyPair; +import MySearch.search_algorithms; +import MySort.sort_algorithms; + +public class MyTest { + @Test + public void testSequentialSearch() { + MyList list = new MyList(); + list.add(new MyPair(1,3)); + list.add(new MyPair(2,4)); + + assertEquals(3, search_algorithms.sequentielSearchList(1, list).data); + assertEquals(4, search_algorithms.sequentielSearchList(2, list).data); + } + + @Test + public void testBinarySearch() { + MyPair[] pairs = {new MyPair(1,3), new MyPair(2,4)}; + + assertEquals(3, search_algorithms.binarySearch(1, pairs).data); + assertEquals(4, search_algorithms.binarySearch(2, pairs).data); + } + + @Test + public void testExponentialSearch() { + MyPair[] pairs = {new MyPair(1,3), new MyPair(2,4)}; + + assertEquals(3, search_algorithms.exponentialSearch(1, pairs).data); + assertEquals(4, search_algorithms.exponentialSearch(2, pairs).data); + } + + @Test + public void testBubbleSortInSitu() { + //Test BubbleSortInSitu + MyPair[] arrPairs0 = {new MyPair(2,2), new MyPair(0,0), new MyPair(1,1), new MyPair(3,3)}; + sort_algorithms.myBubbleSortInSitu(arrPairs0); + for (int i = 0; i < arrPairs0.length; i++) { + assertEquals(i, arrPairs0[i].getKeyAsInt()); + } + } + + @Test + public void testBubbleSortNotInSitu() { + //Test BubbleSortNotInSitu + MyPair[] arrPairs0 = {new MyPair(2,2), new MyPair(0,0), new MyPair(1,1), new MyPair(3,3)}; + MyPair[] arrPairs1 = sort_algorithms.myBubbleSortNotInSitu(arrPairs0); + for (int i = 0; i < arrPairs1.length; i++) { + assertEquals(i, arrPairs1[i].getKeyAsInt()); + } + } + + @Test + public void testSelectionSortInSitu() { + //Test SelectionSortInSitu + MyPair[] arrPairs0 = {new MyPair(2,2), new MyPair(0,0), new MyPair(1,1), new MyPair(3,3)}; + sort_algorithms.mySelectionSortInSitu(arrPairs0); + for (int i = 0; i < arrPairs0.length; i++) { + assertEquals(i, arrPairs0[i].getKeyAsInt()); + } + } + + @Test + public void testSelectionSortNotInSitu() { + //Test SelectionSortNotInSitu + MyPair[] arrPairs0 = {new MyPair(2,2), new MyPair(0,0), new MyPair(1,1), new MyPair(3,3)}; + MyPair[] arrPairs1 = sort_algorithms.mySelectionSortNotInSitu(arrPairs0); + for (int i = 0; i < arrPairs0.length; i++) { + assertEquals(i, arrPairs1[i].getKeyAsInt()); + } + } +} \ No newline at end of file diff --git a/MyTrees/MyBinaryTree.java b/MyTrees/MyBinaryTree.java new file mode 100644 index 0000000..811a104 --- /dev/null +++ b/MyTrees/MyBinaryTree.java @@ -0,0 +1,14 @@ +package MyTrees; +public class MyBinaryTree { + + public MyTreeNode root; + private int size; + + public MyBinaryTree() { + root = null; + } + + public int getSize() { + return this.size; + } +} diff --git a/MyTrees/MyMaxHeapTree.java b/MyTrees/MyMaxHeapTree.java new file mode 100644 index 0000000..763d9b7 --- /dev/null +++ b/MyTrees/MyMaxHeapTree.java @@ -0,0 +1,12 @@ +package MyTrees; +public class MyMaxHeapTree extends MyBinaryTree { + public MyMaxHeapTree() { + super(); + } + + public MyTreeNode[] asArray() { + MyTreeNode[] treeAsArray = new MyTreeNode[this.getSize()]; + + return treeAsArray; + } +} diff --git a/MyTrees/MyMinHeapTree.java b/MyTrees/MyMinHeapTree.java new file mode 100644 index 0000000..7bee155 --- /dev/null +++ b/MyTrees/MyMinHeapTree.java @@ -0,0 +1,5 @@ +package MyTrees; + +public class MyMinHeapTree { + +} diff --git a/MyTrees/MyRedBlackTree.java b/MyTrees/MyRedBlackTree.java new file mode 100644 index 0000000..8d1b7ea --- /dev/null +++ b/MyTrees/MyRedBlackTree.java @@ -0,0 +1,5 @@ +package MyTrees; + +public class MyRedBlackTree extends MyBinaryTree { + +} diff --git a/MyTrees/MyTreeNode.java b/MyTrees/MyTreeNode.java new file mode 100644 index 0000000..2d7d054 --- /dev/null +++ b/MyTrees/MyTreeNode.java @@ -0,0 +1,53 @@ +package MyTrees; + +public class MyTreeNode { + private MyTreeNode leftChild; + private MyTreeNode rightChild; + private Object key; + private Object data; + + public MyTreeNode() { + this.leftChild = null; + this.rightChild = null; + this.key = null; + this.data = null; + } + + //David Setter Methods + public void setLeftChild(MyTreeNode leftNode) { + this.leftChild = leftNode; + } + + public void setRightChild(MyTreeNode rightNode) { + this.rightChild = rightNode; + } + + public void setKey(Object key) { + this.key = key; + } + + public void setData(Object data) { + this.data = data; + } + + //David Getter Methods + public MyTreeNode getLeftChild() { + return this.leftChild; + } + + public MyTreeNode getRightChild() { + return this.rightChild; + } + + public Object getKey() { + return this.key; + } + + public Object getData() { + return this.data; + } + + public int getKeyAsInt() { + return (int)this.key; + } +} \ No newline at end of file