From 7a3efb12fc64adcc47ebadf1ba0116c8dcac83f5 Mon Sep 17 00:00:00 2001 From: Gnik <30725674+GnikDroy@users.noreply.github.com> Date: Sun, 30 Sep 2018 23:10:51 +0545 Subject: [PATCH] Changed folder structure (Issue #52) (#53) * Changed folder structure * Fixed link in README --- CONTRIBUTING.md | 7 +++++++ {Data_Structures => Data Structures}/.gitkeep | 0 .../Linked Lists}/Java/SinglyLinkedList.java | 0 {Data_Structures => Data Structures/Stack/Java}/Stack.java | 0 {Dynamic_Programming => Dynamic Programming}/.gitkeep | 0 {Graph_Algorithms => Graphs}/.gitkeep | 0 {Greedy_Algorithms => Greedy}/.gitkeep | 0 {JS_Design_Patterns => JS Design Patterns}/singleton.js | 0 {Java_Design_Patterns => Java Design Patterns}/.gitkeep | 0 .../Singleton Class.java | 0 {Machine_Learning => Machine Learning}/.gitkeep | 0 README.md | 4 ++++ .../{Binary_Search => Binary Search}/C++/BinarySearch.cpp | 0 .../{Binary_Search => Binary Search}/C/BinarySearch.c | 0 .../Java/BinarySearch.java | 0 .../Python/BinarySearch.py | 0 Searching/{Binary_Search => Binary Search}/README.md | 0 .../{Linear_Search => Linear Search}/C++/LinearSearch.cpp | 0 .../{Linear_Search => Linear Search}/C/LinearSearch.c | 0 .../Java/LinearSearch.java | 0 .../Python/LinearSearch.py | 0 Searching/{Linear_Search => Linear Search}/README.md | 0 Sorting/{ => Bubble Sort}/C#/BubbleSort.cs | 0 Sorting/{ => Bubble Sort}/Java/BubbleSort.java | 0 Sorting/{C++/Heap_Sort.cpp => Heap Sort/C++/HeapSort.cpp} | 0 Sorting/{ => Insertion Sort}/Java/InsertionSort.java | 0 .../C++/Arrays}/MergeSortArray.cpp | 0 .../C++/Arrays}/MergeSortArray.h | 0 .../C++/Arrays/MergeSortArrayTest.cpp} | 0 .../C++/Linked Lists}/MergeSortLinkedList.cpp | 0 .../C++/Linked Lists}/MergeSortLinkedList.h | 0 .../C++/Linked Lists/MergeSortLinkedListTest.cpp} | 0 .../Merge_Sort_Array => Merge Sort/C++/MergeSortArray.cpp} | 0 Sorting/{ => Merge Sort}/Java/MergeSort.java | 0 Sorting/{ => Quick Sort}/C++/QuickSort.cpp | 0 Sorting/{ => Quick Sort}/Java/QuickSort.java | 0 Sorting/{ => Selection Sort}/Java/SelectionSort.java | 0 {String_Manipulation => String Manipulation}/.gitkeep | 0 38 files changed, 11 insertions(+) rename {Data_Structures => Data Structures}/.gitkeep (100%) rename {Data_Structures => Data Structures/Linked Lists}/Java/SinglyLinkedList.java (100%) rename {Data_Structures => Data Structures/Stack/Java}/Stack.java (100%) rename {Dynamic_Programming => Dynamic Programming}/.gitkeep (100%) rename {Graph_Algorithms => Graphs}/.gitkeep (100%) rename {Greedy_Algorithms => Greedy}/.gitkeep (100%) rename {JS_Design_Patterns => JS Design Patterns}/singleton.js (100%) rename {Java_Design_Patterns => Java Design Patterns}/.gitkeep (100%) rename Java_Design_Patterns/SingletonClass.java => Java Design Patterns/Singleton Class.java (100%) rename {Machine_Learning => Machine Learning}/.gitkeep (100%) rename Searching/{Binary_Search => Binary Search}/C++/BinarySearch.cpp (100%) rename Searching/{Binary_Search => Binary Search}/C/BinarySearch.c (100%) rename Searching/{Binary_Search => Binary Search}/Java/BinarySearch.java (100%) rename Searching/{Binary_Search => Binary Search}/Python/BinarySearch.py (100%) rename Searching/{Binary_Search => Binary Search}/README.md (100%) rename Searching/{Linear_Search => Linear Search}/C++/LinearSearch.cpp (100%) rename Searching/{Linear_Search => Linear Search}/C/LinearSearch.c (100%) rename Searching/{Linear_Search => Linear Search}/Java/LinearSearch.java (100%) rename Searching/{Linear_Search => Linear Search}/Python/LinearSearch.py (100%) rename Searching/{Linear_Search => Linear Search}/README.md (100%) rename Sorting/{ => Bubble Sort}/C#/BubbleSort.cs (100%) rename Sorting/{ => Bubble Sort}/Java/BubbleSort.java (100%) rename Sorting/{C++/Heap_Sort.cpp => Heap Sort/C++/HeapSort.cpp} (100%) rename Sorting/{ => Insertion Sort}/Java/InsertionSort.java (100%) rename Sorting/{C++/MergeSort_Arrays => Merge Sort/C++/Arrays}/MergeSortArray.cpp (100%) rename Sorting/{C++/MergeSort_Arrays => Merge Sort/C++/Arrays}/MergeSortArray.h (100%) rename Sorting/{C++/MergeSort_Arrays/MergeSort_ArrayTest.cpp => Merge Sort/C++/Arrays/MergeSortArrayTest.cpp} (100%) rename Sorting/{C++/MergeSort_LinkedLists => Merge Sort/C++/Linked Lists}/MergeSortLinkedList.cpp (100%) rename Sorting/{C++/MergeSort_LinkedLists => Merge Sort/C++/Linked Lists}/MergeSortLinkedList.h (100%) rename Sorting/{C++/MergeSort_LinkedLists/MergeSort_LinkedlistTest.cpp => Merge Sort/C++/Linked Lists/MergeSortLinkedListTest.cpp} (100%) rename Sorting/{C++/Merge_Sort_Array => Merge Sort/C++/MergeSortArray.cpp} (100%) rename Sorting/{ => Merge Sort}/Java/MergeSort.java (100%) rename Sorting/{ => Quick Sort}/C++/QuickSort.cpp (100%) rename Sorting/{ => Quick Sort}/Java/QuickSort.java (100%) rename Sorting/{ => Selection Sort}/Java/SelectionSort.java (100%) rename {String_Manipulation => String Manipulation}/.gitkeep (100%) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1eb524ab..df82cbfb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -22,6 +22,13 @@ Pull requests are the best way to propose changes to the codebase (we use [Githu 4. Ensure the test suite passes. 5. Issue that pull request from your feature branch! +## Adding a new algorithm or data structure. + +Make sure you adhere to the `algorithm/language/file` folder structure while adding code. + +Additionally we recommend using standard convention for your language such as indentation and variable naming while writing the algorithm. +Useful comments will be a help. Finally, if you can write tests for you code, we urge you to do so. + ## Any contributions you make will be under the MIT License In short, when you submit code changes, your submissions are understood to be under the same MIT License that covers the project. Feel free to contact the maintainers if that's a concern. diff --git a/Data_Structures/.gitkeep b/Data Structures/.gitkeep similarity index 100% rename from Data_Structures/.gitkeep rename to Data Structures/.gitkeep diff --git a/Data_Structures/Java/SinglyLinkedList.java b/Data Structures/Linked Lists/Java/SinglyLinkedList.java similarity index 100% rename from Data_Structures/Java/SinglyLinkedList.java rename to Data Structures/Linked Lists/Java/SinglyLinkedList.java diff --git a/Data_Structures/Stack.java b/Data Structures/Stack/Java/Stack.java similarity index 100% rename from Data_Structures/Stack.java rename to Data Structures/Stack/Java/Stack.java diff --git a/Dynamic_Programming/.gitkeep b/Dynamic Programming/.gitkeep similarity index 100% rename from Dynamic_Programming/.gitkeep rename to Dynamic Programming/.gitkeep diff --git a/Graph_Algorithms/.gitkeep b/Graphs/.gitkeep similarity index 100% rename from Graph_Algorithms/.gitkeep rename to Graphs/.gitkeep diff --git a/Greedy_Algorithms/.gitkeep b/Greedy/.gitkeep similarity index 100% rename from Greedy_Algorithms/.gitkeep rename to Greedy/.gitkeep diff --git a/JS_Design_Patterns/singleton.js b/JS Design Patterns/singleton.js similarity index 100% rename from JS_Design_Patterns/singleton.js rename to JS Design Patterns/singleton.js diff --git a/Java_Design_Patterns/.gitkeep b/Java Design Patterns/.gitkeep similarity index 100% rename from Java_Design_Patterns/.gitkeep rename to Java Design Patterns/.gitkeep diff --git a/Java_Design_Patterns/SingletonClass.java b/Java Design Patterns/Singleton Class.java similarity index 100% rename from Java_Design_Patterns/SingletonClass.java rename to Java Design Patterns/Singleton Class.java diff --git a/Machine_Learning/.gitkeep b/Machine Learning/.gitkeep similarity index 100% rename from Machine_Learning/.gitkeep rename to Machine Learning/.gitkeep diff --git a/README.md b/README.md index efc573b4..2ea5e547 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,10 @@ Feel free to contribute. Create an issue, let others know which algorithm/data s > The goal is to create a codebase for developers to access. Later we aim to develop extensions using this codebase to support multiple IDEs. +## Contributing + +We are open to contributions. Make sure you read [how to contribute](CONTRIBUTING.md) before contributing. + ## License [MIT License] diff --git a/Searching/Binary_Search/C++/BinarySearch.cpp b/Searching/Binary Search/C++/BinarySearch.cpp similarity index 100% rename from Searching/Binary_Search/C++/BinarySearch.cpp rename to Searching/Binary Search/C++/BinarySearch.cpp diff --git a/Searching/Binary_Search/C/BinarySearch.c b/Searching/Binary Search/C/BinarySearch.c similarity index 100% rename from Searching/Binary_Search/C/BinarySearch.c rename to Searching/Binary Search/C/BinarySearch.c diff --git a/Searching/Binary_Search/Java/BinarySearch.java b/Searching/Binary Search/Java/BinarySearch.java similarity index 100% rename from Searching/Binary_Search/Java/BinarySearch.java rename to Searching/Binary Search/Java/BinarySearch.java diff --git a/Searching/Binary_Search/Python/BinarySearch.py b/Searching/Binary Search/Python/BinarySearch.py similarity index 100% rename from Searching/Binary_Search/Python/BinarySearch.py rename to Searching/Binary Search/Python/BinarySearch.py diff --git a/Searching/Binary_Search/README.md b/Searching/Binary Search/README.md similarity index 100% rename from Searching/Binary_Search/README.md rename to Searching/Binary Search/README.md diff --git a/Searching/Linear_Search/C++/LinearSearch.cpp b/Searching/Linear Search/C++/LinearSearch.cpp similarity index 100% rename from Searching/Linear_Search/C++/LinearSearch.cpp rename to Searching/Linear Search/C++/LinearSearch.cpp diff --git a/Searching/Linear_Search/C/LinearSearch.c b/Searching/Linear Search/C/LinearSearch.c similarity index 100% rename from Searching/Linear_Search/C/LinearSearch.c rename to Searching/Linear Search/C/LinearSearch.c diff --git a/Searching/Linear_Search/Java/LinearSearch.java b/Searching/Linear Search/Java/LinearSearch.java similarity index 100% rename from Searching/Linear_Search/Java/LinearSearch.java rename to Searching/Linear Search/Java/LinearSearch.java diff --git a/Searching/Linear_Search/Python/LinearSearch.py b/Searching/Linear Search/Python/LinearSearch.py similarity index 100% rename from Searching/Linear_Search/Python/LinearSearch.py rename to Searching/Linear Search/Python/LinearSearch.py diff --git a/Searching/Linear_Search/README.md b/Searching/Linear Search/README.md similarity index 100% rename from Searching/Linear_Search/README.md rename to Searching/Linear Search/README.md diff --git a/Sorting/C#/BubbleSort.cs b/Sorting/Bubble Sort/C#/BubbleSort.cs similarity index 100% rename from Sorting/C#/BubbleSort.cs rename to Sorting/Bubble Sort/C#/BubbleSort.cs diff --git a/Sorting/Java/BubbleSort.java b/Sorting/Bubble Sort/Java/BubbleSort.java similarity index 100% rename from Sorting/Java/BubbleSort.java rename to Sorting/Bubble Sort/Java/BubbleSort.java diff --git a/Sorting/C++/Heap_Sort.cpp b/Sorting/Heap Sort/C++/HeapSort.cpp similarity index 100% rename from Sorting/C++/Heap_Sort.cpp rename to Sorting/Heap Sort/C++/HeapSort.cpp diff --git a/Sorting/Java/InsertionSort.java b/Sorting/Insertion Sort/Java/InsertionSort.java similarity index 100% rename from Sorting/Java/InsertionSort.java rename to Sorting/Insertion Sort/Java/InsertionSort.java diff --git a/Sorting/C++/MergeSort_Arrays/MergeSortArray.cpp b/Sorting/Merge Sort/C++/Arrays/MergeSortArray.cpp similarity index 100% rename from Sorting/C++/MergeSort_Arrays/MergeSortArray.cpp rename to Sorting/Merge Sort/C++/Arrays/MergeSortArray.cpp diff --git a/Sorting/C++/MergeSort_Arrays/MergeSortArray.h b/Sorting/Merge Sort/C++/Arrays/MergeSortArray.h similarity index 100% rename from Sorting/C++/MergeSort_Arrays/MergeSortArray.h rename to Sorting/Merge Sort/C++/Arrays/MergeSortArray.h diff --git a/Sorting/C++/MergeSort_Arrays/MergeSort_ArrayTest.cpp b/Sorting/Merge Sort/C++/Arrays/MergeSortArrayTest.cpp similarity index 100% rename from Sorting/C++/MergeSort_Arrays/MergeSort_ArrayTest.cpp rename to Sorting/Merge Sort/C++/Arrays/MergeSortArrayTest.cpp diff --git a/Sorting/C++/MergeSort_LinkedLists/MergeSortLinkedList.cpp b/Sorting/Merge Sort/C++/Linked Lists/MergeSortLinkedList.cpp similarity index 100% rename from Sorting/C++/MergeSort_LinkedLists/MergeSortLinkedList.cpp rename to Sorting/Merge Sort/C++/Linked Lists/MergeSortLinkedList.cpp diff --git a/Sorting/C++/MergeSort_LinkedLists/MergeSortLinkedList.h b/Sorting/Merge Sort/C++/Linked Lists/MergeSortLinkedList.h similarity index 100% rename from Sorting/C++/MergeSort_LinkedLists/MergeSortLinkedList.h rename to Sorting/Merge Sort/C++/Linked Lists/MergeSortLinkedList.h diff --git a/Sorting/C++/MergeSort_LinkedLists/MergeSort_LinkedlistTest.cpp b/Sorting/Merge Sort/C++/Linked Lists/MergeSortLinkedListTest.cpp similarity index 100% rename from Sorting/C++/MergeSort_LinkedLists/MergeSort_LinkedlistTest.cpp rename to Sorting/Merge Sort/C++/Linked Lists/MergeSortLinkedListTest.cpp diff --git a/Sorting/C++/Merge_Sort_Array b/Sorting/Merge Sort/C++/MergeSortArray.cpp similarity index 100% rename from Sorting/C++/Merge_Sort_Array rename to Sorting/Merge Sort/C++/MergeSortArray.cpp diff --git a/Sorting/Java/MergeSort.java b/Sorting/Merge Sort/Java/MergeSort.java similarity index 100% rename from Sorting/Java/MergeSort.java rename to Sorting/Merge Sort/Java/MergeSort.java diff --git a/Sorting/C++/QuickSort.cpp b/Sorting/Quick Sort/C++/QuickSort.cpp similarity index 100% rename from Sorting/C++/QuickSort.cpp rename to Sorting/Quick Sort/C++/QuickSort.cpp diff --git a/Sorting/Java/QuickSort.java b/Sorting/Quick Sort/Java/QuickSort.java similarity index 100% rename from Sorting/Java/QuickSort.java rename to Sorting/Quick Sort/Java/QuickSort.java diff --git a/Sorting/Java/SelectionSort.java b/Sorting/Selection Sort/Java/SelectionSort.java similarity index 100% rename from Sorting/Java/SelectionSort.java rename to Sorting/Selection Sort/Java/SelectionSort.java diff --git a/String_Manipulation/.gitkeep b/String Manipulation/.gitkeep similarity index 100% rename from String_Manipulation/.gitkeep rename to String Manipulation/.gitkeep