diff --git a/.classpath b/.classpath deleted file mode 100644 index 67d5f6d35..000000000 --- a/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/.gitignore b/.gitignore index ae3c17260..bf2ba9450 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ /bin/ +.idea/* +.classpath* +.project* +*.iml diff --git a/.project b/.project deleted file mode 100644 index ea54703d8..000000000 --- a/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - Java - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/Searches/src/search/BinarySearch.java b/Searches/BinarySearch.java similarity index 99% rename from Searches/src/search/BinarySearch.java rename to Searches/BinarySearch.java index 239bc98c6..f655c074f 100644 --- a/Searches/src/search/BinarySearch.java +++ b/Searches/BinarySearch.java @@ -1,4 +1,4 @@ -package search; +package Searches; import java.util.Arrays; import java.util.Random; diff --git a/Searches/src/search/InterpolationSearch.java b/Searches/InterpolationSearch.java similarity index 99% rename from Searches/src/search/InterpolationSearch.java rename to Searches/InterpolationSearch.java index 06313d13c..b2395797c 100644 --- a/Searches/src/search/InterpolationSearch.java +++ b/Searches/InterpolationSearch.java @@ -1,4 +1,4 @@ -package search; +package Searches; import java.util.Arrays; import java.util.Random; diff --git a/Searches/src/search/IterativeBinarySearch.java b/Searches/IterativeBinarySearch.java similarity index 99% rename from Searches/src/search/IterativeBinarySearch.java rename to Searches/IterativeBinarySearch.java index 17bfe3950..c6f8e7f1a 100644 --- a/Searches/src/search/IterativeBinarySearch.java +++ b/Searches/IterativeBinarySearch.java @@ -1,4 +1,4 @@ -package search; +package Searches; import java.util.Arrays; import java.util.Random; diff --git a/Searches/src/search/IterativeTernarySearch.java b/Searches/IterativeTernarySearch.java similarity index 99% rename from Searches/src/search/IterativeTernarySearch.java rename to Searches/IterativeTernarySearch.java index c3538e69f..598b3b3eb 100644 --- a/Searches/src/search/IterativeTernarySearch.java +++ b/Searches/IterativeTernarySearch.java @@ -1,4 +1,4 @@ -package search; +package Searches; import java.util.Arrays; import java.util.Random; diff --git a/Searches/src/search/LinearSearch.java b/Searches/LinearSearch.java similarity index 98% rename from Searches/src/search/LinearSearch.java rename to Searches/LinearSearch.java index 6e96da0f4..7664d7deb 100644 --- a/Searches/src/search/LinearSearch.java +++ b/Searches/LinearSearch.java @@ -1,4 +1,4 @@ -package search; +package Searches; import java.util.Random; import java.util.stream.Stream; diff --git a/Searches/src/search/SaddlebackSearch.java b/Searches/SaddlebackSearch.java similarity index 99% rename from Searches/src/search/SaddlebackSearch.java rename to Searches/SaddlebackSearch.java index 68779db8f..ed9c9108c 100644 --- a/Searches/src/search/SaddlebackSearch.java +++ b/Searches/SaddlebackSearch.java @@ -1,4 +1,4 @@ -package search; +package Searches; import java.util.Scanner; diff --git a/Searches/src/search/SearchAlgorithm.java b/Searches/SearchAlgorithm.java similarity index 96% rename from Searches/src/search/SearchAlgorithm.java rename to Searches/SearchAlgorithm.java index ca3bf59ba..d1a93fb7e 100644 --- a/Searches/src/search/SearchAlgorithm.java +++ b/Searches/SearchAlgorithm.java @@ -1,4 +1,4 @@ -package search; +package Searches; /** * The common interface of most searching algorithms diff --git a/Searches/src/search/TernarySearch.java b/Searches/TernarySearch.java similarity index 99% rename from Searches/src/search/TernarySearch.java rename to Searches/TernarySearch.java index 7e60edf3a..cefd37409 100644 --- a/Searches/src/search/TernarySearch.java +++ b/Searches/TernarySearch.java @@ -1,4 +1,4 @@ -package search; +package Searches; import java.util.Arrays; diff --git a/SkylineProblem/SkylineProblem.java b/SkylineProblem/SkylineProblem.java deleted file mode 100644 index 121116e16..000000000 --- a/SkylineProblem/SkylineProblem.java +++ /dev/null @@ -1,137 +0,0 @@ -/** - * Given n rectangular buildings in a 2-dimensional city, computes the skyline of these buildings, - * eliminating hidden lines. The main task is to view buildings from a side and remove all sections - * that are not visible. - * Source for explanation: https://www.geeksforgeeks.org/the-skyline-problem-using-divide-and-conquer-algorithm/ - */ -import java.util.ArrayList; -import java.util.Iterator; -import java.util.Scanner; - -public class SkylineProblem { - Building[] building; - int count; - - public void run() { - Scanner sc = new Scanner(System.in); - - int num = sc.nextInt(); - this.building = new Building[num]; - - for(int i = 0; i < num; i++) { - String input = sc.next(); - String[] data = input.split(","); - this.add(Integer.parseInt(data[0]), Integer.parseInt(data[1]), Integer.parseInt(data[2])); - } - this.print(this.findSkyline(0, num - 1)); - - sc.close(); - } - - public void add(int left, int height, int right) { - building[count++] = new Building(left, height, right); - } - - public void print(ArrayList skyline) { - Iterator it = skyline.iterator(); - - while(it.hasNext()) { - Skyline temp = it.next(); - System.out.print(temp.coordinates + "," + temp.height); - if(it.hasNext()) { - System.out.print(","); - } - } - - } - - public ArrayList findSkyline(int start, int end) { - if(start == end) { - ArrayList list = new ArrayList<>(); - list.add(new Skyline(building[start].left, building[start].height)); - list.add(new Skyline(building[end].right, 0)); - - return list; - } - - int mid = (start + end) / 2; - - ArrayList sky1 = this.findSkyline(start, mid); - ArrayList sky2 = this.findSkyline(mid + 1, end); - - return this.mergeSkyline(sky1, sky2); - } - - public ArrayList mergeSkyline(ArrayList sky1, ArrayList sky2) { - int currentH1 = 0, currentH2 = 0; - ArrayList skyline = new ArrayList<>(); - int maxH = 0; - - while(!sky1.isEmpty() && !sky2.isEmpty()) { - if(sky1.get(0).coordinates < sky2.get(0).coordinates) { - int currentX = sky1.get(0).coordinates; - currentH1 = sky1.get(0).height; - - if(currentH1 < currentH2) { - sky1.remove(0); - if(maxH != currentH2) skyline.add(new Skyline(currentX, currentH2)); - } else { - maxH = currentH1; - sky1.remove(0); - skyline.add(new Skyline(currentX, currentH1)); - } - } else { - int currentX = sky2.get(0).coordinates; - currentH2 = sky2.get(0).height; - - if(currentH2 < currentH1) { - sky2.remove(0); - if(maxH != currentH1) skyline.add(new Skyline(currentX, currentH1)); - } else { - maxH = currentH2; - sky2.remove(0); - skyline.add(new Skyline(currentX, currentH2)); - } - } - } - - while(!sky1.isEmpty()) { - skyline.add(sky1.get(0)); - sky1.remove(0); - } - - while(!sky2.isEmpty()) { - skyline.add(sky2.get(0)); - sky2.remove(0); - } - - return skyline; - } - - public class Skyline { - public int coordinates; - public int height; - - public Skyline(int coordinates, int height) { - this.coordinates = coordinates; - this.height = height; - } - } - - public class Building { - public int left; - public int height; - public int right; - - public Building(int left, int height, int right) { - this.left = left; - this.height = height; - this.right = right; - } - } - - public static void main(String[] args) { - SkylineProblem skylineProblem = new SkylineProblem(); - skylineProblem.run(); - } -} diff --git a/Sorts/src/sort/BinaryTreeSort.java b/Sorts/BinaryTreeSort.java similarity index 95% rename from Sorts/src/sort/BinaryTreeSort.java rename to Sorts/BinaryTreeSort.java index 59d58ab61..26942754f 100644 --- a/Sorts/src/sort/BinaryTreeSort.java +++ b/Sorts/BinaryTreeSort.java @@ -1,7 +1,7 @@ -package sort; +package Sorts; -import static sort.SortUtils.less; -import static sort.SortUtils.print; +import static Sorts.SortUtils.less; +import static Sorts.SortUtils.print; /** * diff --git a/Sorts/src/sort/BogoSort.java b/Sorts/BogoSort.java similarity index 82% rename from Sorts/src/sort/BogoSort.java rename to Sorts/BogoSort.java index 1079ca21c..f3f923d32 100644 --- a/Sorts/src/sort/BogoSort.java +++ b/Sorts/BogoSort.java @@ -1,9 +1,7 @@ -package sort; +package Sorts; import java.util.Random; -import static sort.SortUtils.*; - /** * @@ -19,7 +17,7 @@ public class BogoSort implements SortAlgorithm { private static > boolean isSorted(T array[]){ for(int i = 0; i left; j--) { - if (less(array[j], array[j - 1])) { - swap(array, j - 1, j); + if (SortUtils.less(array[j], array[j - 1])) { + SortUtils.swap(array, j - 1, j); swappedLeft = j; } } @@ -56,11 +54,11 @@ class CocktailShakerSort implements SortAlgorithm { CocktailShakerSort shakerSort = new CocktailShakerSort(); // Output => 1 4 6 9 12 23 54 78 231 - print(shakerSort.sort(integers)); + SortUtils.print(shakerSort.sort(integers)); // String Input String[] strings = { "c", "a", "e", "b", "d" }; - print(shakerSort.sort(strings)); + SortUtils.print(shakerSort.sort(strings)); } diff --git a/Sorts/src/sort/CombSort.java b/Sorts/CombSort.java similarity index 97% rename from Sorts/src/sort/CombSort.java rename to Sorts/CombSort.java index 492605ca5..83e24edae 100644 --- a/Sorts/src/sort/CombSort.java +++ b/Sorts/CombSort.java @@ -1,6 +1,6 @@ -package sort; +package Sorts; -import static sort.SortUtils.*; +import static Sorts.SortUtils.*; /** diff --git a/Sorts/src/sort/CountingSort.java b/Sorts/CountingSort.java similarity index 98% rename from Sorts/src/sort/CountingSort.java rename to Sorts/CountingSort.java index 39442a00f..7243a27a9 100644 --- a/Sorts/src/sort/CountingSort.java +++ b/Sorts/CountingSort.java @@ -1,4 +1,4 @@ -package sort; +package Sorts; import java.util.*; import java.util.stream.IntStream; @@ -6,7 +6,7 @@ import java.util.stream.Stream; import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toMap; -import static sort.SortUtils.print; +import static Sorts.SortUtils.print; /** * diff --git a/Sorts/src/sort/CycleSort.java b/Sorts/CycleSort.java similarity index 95% rename from Sorts/src/sort/CycleSort.java rename to Sorts/CycleSort.java index ea4f05535..eba541a06 100644 --- a/Sorts/src/sort/CycleSort.java +++ b/Sorts/CycleSort.java @@ -1,7 +1,7 @@ -package sort; +package Sorts; -import static sort.SortUtils.less; -import static sort.SortUtils.print; +import static Sorts.SortUtils.less; +import static Sorts.SortUtils.print; /** * @author Podshivalov Nikita (https://github.com/nikitap492) diff --git a/Sorts/src/sort/GnomeSort.java b/Sorts/GnomeSort.java similarity index 95% rename from Sorts/src/sort/GnomeSort.java rename to Sorts/GnomeSort.java index 14af67c65..ef5dca141 100644 --- a/Sorts/src/sort/GnomeSort.java +++ b/Sorts/GnomeSort.java @@ -1,6 +1,6 @@ -package sort; +package Sorts; -import static sort.SortUtils.*; +import static Sorts.SortUtils.*; /** * Implementation of gnome sort diff --git a/Sorts/src/sort/HeapSort.java b/Sorts/HeapSort.java similarity index 98% rename from Sorts/src/sort/HeapSort.java rename to Sorts/HeapSort.java index 6fab3747f..9be2c2e70 100644 --- a/Sorts/src/sort/HeapSort.java +++ b/Sorts/HeapSort.java @@ -1,10 +1,10 @@ -package sort; +package Sorts; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import static sort.SortUtils.*; +import static Sorts.SortUtils.*; /** * Heap Sort Algorithm diff --git a/Sorts/src/sort/InsertionSort.java b/Sorts/InsertionSort.java similarity index 93% rename from Sorts/src/sort/InsertionSort.java rename to Sorts/InsertionSort.java index 593614304..f29c3537c 100644 --- a/Sorts/src/sort/InsertionSort.java +++ b/Sorts/InsertionSort.java @@ -1,7 +1,7 @@ -package sort; +package Sorts; -import static sort.SortUtils.less; -import static sort.SortUtils.print; +import static Sorts.SortUtils.less; +import static Sorts.SortUtils.print; /** * diff --git a/Sorts/src/sort/MergeSort.java b/Sorts/MergeSort.java similarity index 98% rename from Sorts/src/sort/MergeSort.java rename to Sorts/MergeSort.java index 2c7a141bd..3c4fa4a2b 100644 --- a/Sorts/src/sort/MergeSort.java +++ b/Sorts/MergeSort.java @@ -1,6 +1,6 @@ -package sort; +package Sorts; -import static sort.SortUtils.print; +import static Sorts.SortUtils.print; /** * This method implements the Generic Merge Sort diff --git a/Sorts/src/sort/PancakeSort.java b/Sorts/PancakeSort.java similarity index 95% rename from Sorts/src/sort/PancakeSort.java rename to Sorts/PancakeSort.java index 902db4b39..395b75f93 100644 --- a/Sorts/src/sort/PancakeSort.java +++ b/Sorts/PancakeSort.java @@ -1,6 +1,6 @@ -package sort; +package Sorts; -import static sort.SortUtils.*; +import static Sorts.SortUtils.*; /** * Implementation of gnome sort diff --git a/Sorts/src/sort/QuickSort.java b/Sorts/QuickSort.java similarity index 97% rename from Sorts/src/sort/QuickSort.java rename to Sorts/QuickSort.java index 4159fc829..36b042c13 100644 --- a/Sorts/src/sort/QuickSort.java +++ b/Sorts/QuickSort.java @@ -1,6 +1,6 @@ -package sort; +package Sorts; -import static sort.SortUtils.*; +import static Sorts.SortUtils.*; /** * diff --git a/Sorts/src/sort/RadixSort.java b/Sorts/RadixSort.java similarity index 98% rename from Sorts/src/sort/RadixSort.java rename to Sorts/RadixSort.java index 0d1e69661..9fd1ab7b8 100644 --- a/Sorts/src/sort/RadixSort.java +++ b/Sorts/RadixSort.java @@ -1,4 +1,4 @@ -package sort; +package Sorts; import java.util.Arrays; diff --git a/Sorts/src/sort/SelectionSort.java b/Sorts/SelectionSort.java similarity index 87% rename from Sorts/src/sort/SelectionSort.java rename to Sorts/SelectionSort.java index 960215a68..7ab599f94 100644 --- a/Sorts/src/sort/SelectionSort.java +++ b/Sorts/SelectionSort.java @@ -1,6 +1,4 @@ -package sort; - -import static sort.SortUtils.*; +package Sorts; /** * @@ -27,14 +25,14 @@ public class SelectionSort implements SortAlgorithm { int min = i; for (int j = i +1 ; j < n; j++) { - if (less(arr[j], arr[min])) { + if (SortUtils.less(arr[j], arr[min])) { min = j; } } // Swapping if index of min is changed if (min != i) { - swap(arr, i , min); + SortUtils.swap(arr, i , min); } } @@ -51,13 +49,13 @@ public class SelectionSort implements SortAlgorithm { Integer[] sorted = selectionSort.sort(arr); // Output => 1 4 6 9 12 23 54 78 231 - print(sorted); + SortUtils.print(sorted); // String Input String[] strings = {"c", "a", "e", "b","d"}; String[] sortedStrings = selectionSort.sort(strings); //Output => a b c d e - print(sortedStrings); + SortUtils.print(sortedStrings); } } diff --git a/Sorts/src/sort/ShellSort.java b/Sorts/ShellSort.java similarity index 94% rename from Sorts/src/sort/ShellSort.java rename to Sorts/ShellSort.java index bafd19b14..31c2c6077 100644 --- a/Sorts/src/sort/ShellSort.java +++ b/Sorts/ShellSort.java @@ -1,6 +1,6 @@ -package sort; +package Sorts; -import static sort.SortUtils.*; +import static Sorts.SortUtils.*; /** diff --git a/Sorts/src/sort/SortAlgorithm.java b/Sorts/SortAlgorithm.java similarity index 98% rename from Sorts/src/sort/SortAlgorithm.java rename to Sorts/SortAlgorithm.java index 46b1f58e1..e60041565 100644 --- a/Sorts/src/sort/SortAlgorithm.java +++ b/Sorts/SortAlgorithm.java @@ -1,4 +1,4 @@ -package sort; +package Sorts; import java.util.Arrays; import java.util.List; diff --git a/Sorts/src/sort/SortUtils.java b/Sorts/SortUtils.java similarity index 99% rename from Sorts/src/sort/SortUtils.java rename to Sorts/SortUtils.java index 8766e9d0e..b3392352b 100644 --- a/Sorts/src/sort/SortUtils.java +++ b/Sorts/SortUtils.java @@ -1,4 +1,4 @@ -package sort; +package Sorts; import java.util.Arrays; import java.util.List;