From 66ecd3441c2e6d9074e61622e3806e3efe3df01b Mon Sep 17 00:00:00 2001 From: Gautam Ankoji Date: Thu, 17 Oct 2024 19:24:17 +0530 Subject: [PATCH] restructure directories and add dsa-based games section --- .../dsa-roadmap.pdf | Bin .../dsa-roadmap.png | Bin .../00-algorithms/Kadanes_Algorithm.cpp} | 0 .../00-algorithms}/Sieve_Algorithm.cpp | 0 .../Beginner/Dutch_National_Flag_Problem.cpp | 0 .../01-arrays}/Beginner/Largest_element.cpp | 0 .../01-arrays}/Beginner/Leaders_in_Array.cpp | 0 .../01-arrays}/Beginner/Left_rotate.cpp | 0 .../Beginner/Longest_subarray_with_sum_K.cpp | 0 .../01-arrays}/Beginner/Remove_duplicates.cpp | 0 .../Beginner/Reverse_Array_In_Groups.cpp | 0 .../Beginner/Second_LargestElement.cpp | 0 .../01-arrays}/Beginner/quicksort.cpp | 0 .../Hard/Sliding_Window_Maximum.cpp | 0 .../01-arrays}/Hard/Valid_Number.cpp | 0 .../Intermediate/Kadane's_Algorithm.cpp | 0 .../Intermediate/Majority_Element.cpp | 0 .../Intermediate/Majority_Element_II.cpp | 0 .../01-arrays}/Intermediate/Merge_Sort.cpp | 0 .../Intermediate/Next_Permutation.cpp | 0 .../01-arrays}/Intermediate/Peak_element.cpp | 0 .../01-arrays}/Intermediate/Quick_Sort.cpp | 0 .../Intermediate/Set_Matrix_Zeroes.cpp | 0 .../longest_Consecutive_Subsequence.cpp | 0 .../02-sorting-algorithms/bubble_sort.cpp} | 0 .../02-sorting-algorithms/insertion_sort.cpp} | 0 .../02-sorting-algorithms/merge_sort.cpp} | 0 .../02-sorting-algorithms/quick_sort.cpp} | 0 .../02-sorting-algorithms/selection_Sort.cpp} | 0 .../02-sorting-algorithms/tim_sort.cpp} | 0 .../binary_search.cpp} | 0 .../linear_search.cpp} | 0 .../Sorting Algorithms/Quick-Sort.c++ | 60 ---------------- CONTRIBUTING.md | 66 ++++++++++-------- .../01 - Array/03 - Resources.md | 15 ---- .../01-arrays/00-Introduction.md} | 53 ++++++++------ .../01-arrays/01-Operations.md} | 59 ++++++++++++---- .../Data-Structures/01-arrays/02-Resources.md | 15 ++++ .../02-linked-list/00-Introduction.md} | 0 .../01-Operations/01-Creation.md} | 0 .../01-Operations/02-Insertion.md} | 0 .../01-Operations/03-Deletion.md} | 0 .../01-Operations/01-Creation.md} | 0 .../01-Operations/02-Insertion.md} | 0 .../01-Operations/03-Deletion.md} | 0 .../03-Resources-and-Practice.md} | 0 .../03-stacks/00-Introduction.md} | 0 .../01-Operations.md/01-Insertion.md} | 0 .../01-Operations.md/02-Deletion.md} | 0 .../03-Other-Important-Operations.md} | 0 .../03-stacks/02-Resources-and-Practice.md} | 0 .../04-queues/00-Introduction.md} | 0 .../04-queues/01-Operations/01-Insertion.md} | 0 .../04-queues/01-Operations/02-Deletion.md} | 0 .../03-Other-Important-Operations.md} | 0 .../04-queues/02-Resources-and-Practice.md} | 0 .../01-arrays}/Easy/Maximum_in_Array.ipynb | 0 .../01-arrays}/Medium/Remove_duplicates.ipynb | 0 .../easy/ReverseLinkedList.py | 0 .../02-linked-lists}/medium/2DtoList.py | 0 .../03-stacks}/Easy/Stack_operations.ipynb | 0 .../Medium/Reverse_string_using_stack.ipynb | 0 games-based-on-dsa/.gitkeep | 0 63 files changed, 129 insertions(+), 139 deletions(-) rename {DSA-Roadmap => 00-dsa-roadmap}/dsa-roadmap.pdf (100%) rename {DSA-Roadmap => 00-dsa-roadmap}/dsa-roadmap.png (100%) rename C++/{02 - Data_Structures/Kadane's_Algorithm.cpp => Data-Structures/00-algorithms/Kadanes_Algorithm.cpp} (100%) rename C++/{02 - Data_Structures => Data-Structures/00-algorithms}/Sieve_Algorithm.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Beginner/Dutch_National_Flag_Problem.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Beginner/Largest_element.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Beginner/Leaders_in_Array.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Beginner/Left_rotate.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Beginner/Longest_subarray_with_sum_K.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Beginner/Remove_duplicates.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Beginner/Reverse_Array_In_Groups.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Beginner/Second_LargestElement.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Beginner/quicksort.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Hard/Sliding_Window_Maximum.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Hard/Valid_Number.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Intermediate/Kadane's_Algorithm.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Intermediate/Majority_Element.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Intermediate/Majority_Element_II.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Intermediate/Merge_Sort.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Intermediate/Next_Permutation.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Intermediate/Peak_element.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Intermediate/Quick_Sort.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Intermediate/Set_Matrix_Zeroes.cpp (100%) rename C++/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Intermediate/longest_Consecutive_Subsequence.cpp (100%) rename C++/{02 - Data_Structures/02 - Sorting Algorithms/bubble-Sort.cpp => Data-Structures/02-sorting-algorithms/bubble_sort.cpp} (100%) rename C++/{02 - Data_Structures/02 - Sorting Algorithms/insertion-Sort.cpp => Data-Structures/02-sorting-algorithms/insertion_sort.cpp} (100%) rename C++/{02 - Data_Structures/02 - Sorting Algorithms/merge-sort.cpp => Data-Structures/02-sorting-algorithms/merge_sort.cpp} (100%) rename C++/{02 - Data_Structures/02 - Sorting Algorithms/quick-sort.cpp => Data-Structures/02-sorting-algorithms/quick_sort.cpp} (100%) rename C++/{02 - Data_Structures/02 - Sorting Algorithms/selection-Sort.cpp => Data-Structures/02-sorting-algorithms/selection_Sort.cpp} (100%) rename C++/{02 - Data_Structures/02 - Sorting Algorithms/tim-sort.cpp => Data-Structures/02-sorting-algorithms/tim_sort.cpp} (100%) rename C++/{02 - Data_Structures/03 - Searching Algorithms/Binary-search.cpp => Data-Structures/03-searching-algorithms/binary_search.cpp} (100%) rename C++/{02 - Data_Structures/03 - Searching Algorithms/Linear-search.cpp => Data-Structures/03-searching-algorithms/linear_search.cpp} (100%) delete mode 100644 C++/Data_Structures/Sorting Algorithms/Quick-Sort.c++ delete mode 100644 JavaScript/02 - Data-Structures/01 - Array/03 - Resources.md rename JavaScript/{02 - Data-Structures/01 - Array/01 - Introduction.md => Data-Structures/01-arrays/00-Introduction.md} (51%) rename JavaScript/{02 - Data-Structures/01 - Array/02 - Operations.md => Data-Structures/01-arrays/01-Operations.md} (89%) create mode 100644 JavaScript/Data-Structures/01-arrays/02-Resources.md rename JavaScript/{02 - Data-Structures/02 - Linked-List/01 - Introduction.md => Data-Structures/02-linked-list/00-Introduction.md} (100%) rename JavaScript/{02 - Data-Structures/02 - Linked-List/02 - Single-Linked-List/01 - Operations/01 - Creation.md => Data-Structures/02-linked-list/01-Single-Linked-List/01-Operations/01-Creation.md} (100%) rename JavaScript/{02 - Data-Structures/02 - Linked-List/02 - Single-Linked-List/01 - Operations/02 - Insertion.md => Data-Structures/02-linked-list/01-Single-Linked-List/01-Operations/02-Insertion.md} (100%) rename JavaScript/{02 - Data-Structures/02 - Linked-List/02 - Single-Linked-List/01 - Operations/03 - Deletion.md => Data-Structures/02-linked-list/01-Single-Linked-List/01-Operations/03-Deletion.md} (100%) rename JavaScript/{02 - Data-Structures/02 - Linked-List/03 - Doubly-Linked-List/01 - Operations/00 - Creation.md => Data-Structures/02-linked-list/02-Doubly-Linked-List/01-Operations/01-Creation.md} (100%) rename JavaScript/{02 - Data-Structures/02 - Linked-List/03 - Doubly-Linked-List/01 - Operations/01 - Insertion.md => Data-Structures/02-linked-list/02-Doubly-Linked-List/01-Operations/02-Insertion.md} (100%) rename JavaScript/{02 - Data-Structures/02 - Linked-List/03 - Doubly-Linked-List/01 - Operations/02 - Deletion.md => Data-Structures/02-linked-list/02-Doubly-Linked-List/01-Operations/03-Deletion.md} (100%) rename JavaScript/{02 - Data-Structures/02 - Linked-List/05 - Resources and Practice.md => Data-Structures/02-linked-list/03-Resources-and-Practice.md} (100%) rename JavaScript/{02 - Data-Structures/03 - Stacks/01 - Introduction.md => Data-Structures/03-stacks/00-Introduction.md} (100%) rename JavaScript/{02 - Data-Structures/03 - Stacks/02 - Operations.md/01- Insertion.md => Data-Structures/03-stacks/01-Operations.md/01-Insertion.md} (100%) rename JavaScript/{02 - Data-Structures/03 - Stacks/02 - Operations.md/02 - Deletion.md => Data-Structures/03-stacks/01-Operations.md/02-Deletion.md} (100%) rename JavaScript/{02 - Data-Structures/03 - Stacks/02 - Operations.md/03 - Other-Important-Operations.md => Data-Structures/03-stacks/01-Operations.md/03-Other-Important-Operations.md} (100%) rename JavaScript/{02 - Data-Structures/03 - Stacks/03 - Resources-and-Practice.md => Data-Structures/03-stacks/02-Resources-and-Practice.md} (100%) rename JavaScript/{02 - Data-Structures/04 - Queues/01 - Introduction.md => Data-Structures/04-queues/00-Introduction.md} (100%) rename JavaScript/{02 - Data-Structures/04 - Queues/02 - Operations/01 - Insertion.md => Data-Structures/04-queues/01-Operations/01-Insertion.md} (100%) rename JavaScript/{02 - Data-Structures/04 - Queues/02 - Operations/02 - Deletion.md => Data-Structures/04-queues/01-Operations/02-Deletion.md} (100%) rename JavaScript/{02 - Data-Structures/04 - Queues/02 - Operations/03 - Other-Important-Operations.md => Data-Structures/04-queues/01-Operations/03-Other-Important-Operations.md} (100%) rename JavaScript/{02 - Data-Structures/04 - Queues/03 - Resources-and-Practice.md => Data-Structures/04-queues/02-Resources-and-Practice.md} (100%) rename Python/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Easy/Maximum_in_Array.ipynb (100%) rename Python/{02 - Data_Structures/01 - Arrays => Data-Structures/01-arrays}/Medium/Remove_duplicates.ipynb (100%) rename Python/{02 - Data_Structures/linked-list => Data-Structures/02-linked-lists}/easy/ReverseLinkedList.py (100%) rename Python/{02 - Data_Structures/linked-list => Data-Structures/02-linked-lists}/medium/2DtoList.py (100%) rename Python/{02 - Data_Structures/02 - Stack => Data-Structures/03-stacks}/Easy/Stack_operations.ipynb (100%) rename Python/{02 - Data_Structures/02 - Stack => Data-Structures/03-stacks}/Medium/Reverse_string_using_stack.ipynb (100%) create mode 100644 games-based-on-dsa/.gitkeep diff --git a/DSA-Roadmap/dsa-roadmap.pdf b/00-dsa-roadmap/dsa-roadmap.pdf similarity index 100% rename from DSA-Roadmap/dsa-roadmap.pdf rename to 00-dsa-roadmap/dsa-roadmap.pdf diff --git a/DSA-Roadmap/dsa-roadmap.png b/00-dsa-roadmap/dsa-roadmap.png similarity index 100% rename from DSA-Roadmap/dsa-roadmap.png rename to 00-dsa-roadmap/dsa-roadmap.png diff --git a/C++/02 - Data_Structures/Kadane's_Algorithm.cpp b/C++/Data-Structures/00-algorithms/Kadanes_Algorithm.cpp similarity index 100% rename from C++/02 - Data_Structures/Kadane's_Algorithm.cpp rename to C++/Data-Structures/00-algorithms/Kadanes_Algorithm.cpp diff --git a/C++/02 - Data_Structures/Sieve_Algorithm.cpp b/C++/Data-Structures/00-algorithms/Sieve_Algorithm.cpp similarity index 100% rename from C++/02 - Data_Structures/Sieve_Algorithm.cpp rename to C++/Data-Structures/00-algorithms/Sieve_Algorithm.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Beginner/Dutch_National_Flag_Problem.cpp b/C++/Data-Structures/01-arrays/Beginner/Dutch_National_Flag_Problem.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Beginner/Dutch_National_Flag_Problem.cpp rename to C++/Data-Structures/01-arrays/Beginner/Dutch_National_Flag_Problem.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Beginner/Largest_element.cpp b/C++/Data-Structures/01-arrays/Beginner/Largest_element.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Beginner/Largest_element.cpp rename to C++/Data-Structures/01-arrays/Beginner/Largest_element.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Beginner/Leaders_in_Array.cpp b/C++/Data-Structures/01-arrays/Beginner/Leaders_in_Array.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Beginner/Leaders_in_Array.cpp rename to C++/Data-Structures/01-arrays/Beginner/Leaders_in_Array.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Beginner/Left_rotate.cpp b/C++/Data-Structures/01-arrays/Beginner/Left_rotate.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Beginner/Left_rotate.cpp rename to C++/Data-Structures/01-arrays/Beginner/Left_rotate.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Beginner/Longest_subarray_with_sum_K.cpp b/C++/Data-Structures/01-arrays/Beginner/Longest_subarray_with_sum_K.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Beginner/Longest_subarray_with_sum_K.cpp rename to C++/Data-Structures/01-arrays/Beginner/Longest_subarray_with_sum_K.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Beginner/Remove_duplicates.cpp b/C++/Data-Structures/01-arrays/Beginner/Remove_duplicates.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Beginner/Remove_duplicates.cpp rename to C++/Data-Structures/01-arrays/Beginner/Remove_duplicates.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Beginner/Reverse_Array_In_Groups.cpp b/C++/Data-Structures/01-arrays/Beginner/Reverse_Array_In_Groups.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Beginner/Reverse_Array_In_Groups.cpp rename to C++/Data-Structures/01-arrays/Beginner/Reverse_Array_In_Groups.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Beginner/Second_LargestElement.cpp b/C++/Data-Structures/01-arrays/Beginner/Second_LargestElement.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Beginner/Second_LargestElement.cpp rename to C++/Data-Structures/01-arrays/Beginner/Second_LargestElement.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Beginner/quicksort.cpp b/C++/Data-Structures/01-arrays/Beginner/quicksort.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Beginner/quicksort.cpp rename to C++/Data-Structures/01-arrays/Beginner/quicksort.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Hard/Sliding_Window_Maximum.cpp b/C++/Data-Structures/01-arrays/Hard/Sliding_Window_Maximum.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Hard/Sliding_Window_Maximum.cpp rename to C++/Data-Structures/01-arrays/Hard/Sliding_Window_Maximum.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Hard/Valid_Number.cpp b/C++/Data-Structures/01-arrays/Hard/Valid_Number.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Hard/Valid_Number.cpp rename to C++/Data-Structures/01-arrays/Hard/Valid_Number.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Intermediate/Kadane's_Algorithm.cpp b/C++/Data-Structures/01-arrays/Intermediate/Kadane's_Algorithm.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Intermediate/Kadane's_Algorithm.cpp rename to C++/Data-Structures/01-arrays/Intermediate/Kadane's_Algorithm.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Intermediate/Majority_Element.cpp b/C++/Data-Structures/01-arrays/Intermediate/Majority_Element.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Intermediate/Majority_Element.cpp rename to C++/Data-Structures/01-arrays/Intermediate/Majority_Element.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Intermediate/Majority_Element_II.cpp b/C++/Data-Structures/01-arrays/Intermediate/Majority_Element_II.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Intermediate/Majority_Element_II.cpp rename to C++/Data-Structures/01-arrays/Intermediate/Majority_Element_II.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Intermediate/Merge_Sort.cpp b/C++/Data-Structures/01-arrays/Intermediate/Merge_Sort.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Intermediate/Merge_Sort.cpp rename to C++/Data-Structures/01-arrays/Intermediate/Merge_Sort.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Intermediate/Next_Permutation.cpp b/C++/Data-Structures/01-arrays/Intermediate/Next_Permutation.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Intermediate/Next_Permutation.cpp rename to C++/Data-Structures/01-arrays/Intermediate/Next_Permutation.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Intermediate/Peak_element.cpp b/C++/Data-Structures/01-arrays/Intermediate/Peak_element.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Intermediate/Peak_element.cpp rename to C++/Data-Structures/01-arrays/Intermediate/Peak_element.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Intermediate/Quick_Sort.cpp b/C++/Data-Structures/01-arrays/Intermediate/Quick_Sort.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Intermediate/Quick_Sort.cpp rename to C++/Data-Structures/01-arrays/Intermediate/Quick_Sort.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Intermediate/Set_Matrix_Zeroes.cpp b/C++/Data-Structures/01-arrays/Intermediate/Set_Matrix_Zeroes.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Intermediate/Set_Matrix_Zeroes.cpp rename to C++/Data-Structures/01-arrays/Intermediate/Set_Matrix_Zeroes.cpp diff --git a/C++/02 - Data_Structures/01 - Arrays/Intermediate/longest_Consecutive_Subsequence.cpp b/C++/Data-Structures/01-arrays/Intermediate/longest_Consecutive_Subsequence.cpp similarity index 100% rename from C++/02 - Data_Structures/01 - Arrays/Intermediate/longest_Consecutive_Subsequence.cpp rename to C++/Data-Structures/01-arrays/Intermediate/longest_Consecutive_Subsequence.cpp diff --git a/C++/02 - Data_Structures/02 - Sorting Algorithms/bubble-Sort.cpp b/C++/Data-Structures/02-sorting-algorithms/bubble_sort.cpp similarity index 100% rename from C++/02 - Data_Structures/02 - Sorting Algorithms/bubble-Sort.cpp rename to C++/Data-Structures/02-sorting-algorithms/bubble_sort.cpp diff --git a/C++/02 - Data_Structures/02 - Sorting Algorithms/insertion-Sort.cpp b/C++/Data-Structures/02-sorting-algorithms/insertion_sort.cpp similarity index 100% rename from C++/02 - Data_Structures/02 - Sorting Algorithms/insertion-Sort.cpp rename to C++/Data-Structures/02-sorting-algorithms/insertion_sort.cpp diff --git a/C++/02 - Data_Structures/02 - Sorting Algorithms/merge-sort.cpp b/C++/Data-Structures/02-sorting-algorithms/merge_sort.cpp similarity index 100% rename from C++/02 - Data_Structures/02 - Sorting Algorithms/merge-sort.cpp rename to C++/Data-Structures/02-sorting-algorithms/merge_sort.cpp diff --git a/C++/02 - Data_Structures/02 - Sorting Algorithms/quick-sort.cpp b/C++/Data-Structures/02-sorting-algorithms/quick_sort.cpp similarity index 100% rename from C++/02 - Data_Structures/02 - Sorting Algorithms/quick-sort.cpp rename to C++/Data-Structures/02-sorting-algorithms/quick_sort.cpp diff --git a/C++/02 - Data_Structures/02 - Sorting Algorithms/selection-Sort.cpp b/C++/Data-Structures/02-sorting-algorithms/selection_Sort.cpp similarity index 100% rename from C++/02 - Data_Structures/02 - Sorting Algorithms/selection-Sort.cpp rename to C++/Data-Structures/02-sorting-algorithms/selection_Sort.cpp diff --git a/C++/02 - Data_Structures/02 - Sorting Algorithms/tim-sort.cpp b/C++/Data-Structures/02-sorting-algorithms/tim_sort.cpp similarity index 100% rename from C++/02 - Data_Structures/02 - Sorting Algorithms/tim-sort.cpp rename to C++/Data-Structures/02-sorting-algorithms/tim_sort.cpp diff --git a/C++/02 - Data_Structures/03 - Searching Algorithms/Binary-search.cpp b/C++/Data-Structures/03-searching-algorithms/binary_search.cpp similarity index 100% rename from C++/02 - Data_Structures/03 - Searching Algorithms/Binary-search.cpp rename to C++/Data-Structures/03-searching-algorithms/binary_search.cpp diff --git a/C++/02 - Data_Structures/03 - Searching Algorithms/Linear-search.cpp b/C++/Data-Structures/03-searching-algorithms/linear_search.cpp similarity index 100% rename from C++/02 - Data_Structures/03 - Searching Algorithms/Linear-search.cpp rename to C++/Data-Structures/03-searching-algorithms/linear_search.cpp diff --git a/C++/Data_Structures/Sorting Algorithms/Quick-Sort.c++ b/C++/Data_Structures/Sorting Algorithms/Quick-Sort.c++ deleted file mode 100644 index f57c869..0000000 --- a/C++/Data_Structures/Sorting Algorithms/Quick-Sort.c++ +++ /dev/null @@ -1,60 +0,0 @@ -#include -using namespace std; - -void swap(int& a, int& b) { - int temp = a; - a = b; - b = temp; -} - -int partition(int arr[], int low, int high) { - int pivot = arr[high]; - int i = low - 1; - - for (int j = low; j < high; j++) { - if (arr[j] < pivot) { - i++; - swap(arr[i], arr[j]); - } - } - - swap(arr[i + 1], arr[high]); - return (i + 1); -} - -void quickSort(int arr[], int low, int high) { - if (low < high) { - int pi = partition(arr, low, high); - - quickSort(arr, low, pi - 1); - quickSort(arr, pi + 1, high); - } -} - -void printArray(int arr[], int size) { - for (int i = 0; i < size; i++) - cout << arr[i] << " "; - cout << endl; -} - -int main() { - int n; - cout << "Enter number of elements: "; - cin >> n; - - int arr[n]; - cout << "Enter the elements: "; - for (int i = 0; i < n; i++) { - cin >> arr[i]; - } - - cout << "Original array: "; - printArray(arr, n); - - quickSort(arr, 0, n - 1); - - cout << "Sorted array: "; - printArray(arr, n); - - return 0; -} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 90060f5..d5f10da 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,49 +3,55 @@ Thank you for considering contributing to this repository! Here are some ways you can contribute: ## 1. Documentation Improvement - - Enhance the README file by correcting grammar and syntax errors. - - Improve the structure and layout of the content. - - Write the same structure present in the README file in Java, JavaScript, Python, or any other language. + +- Enhance the README file by correcting grammar and syntax errors. +- Improve the structure and layout of the content. +- Write the same structure present in the README file in Java, JavaScript, Python, or any other language. ## 2. Share Resources - - Link resources to cover missed topics in the README content. - - Provide additional resources with content. - - Add more useful content. + +- Link resources to cover missed topics in the README content. +- Provide additional resources with content. +- Add more useful content. ## 3. Code Contribution - - Add files implementing data structures (insertion, deletion, searching). - - Include conceptual implementation codes in C, C++, Java, Python, or any other language of your choice. - - Respective Algorithms implementation + +- Add files implementing data structures (insertion, deletion, searching). +- Include conceptual implementation codes in C, C++, Java, Python, or any other language of your choice. +- Respective Algorithms implementation **Important**: Make any of the above changes in an organized and proper structure. **Note**: You can add your own content if you wish. +## Code Contribution Folder Structure -# Code Contribution Folder Structure +### For Data Structures Code Folders -## For Data Structures Code Folders Example: - * JavaScript-DSA `(folder)` - * 01-Introduction `(folder)` - * 02-Data-Structures `(folder)` - * Linked-List `(folder)` - * Operations `(folder)` - * Singly-Linked-List `(folder)` - - insertion.js or insertion.md `(file)` - - deletion.js or deletion.md `(file)` - * Doubly-Linked-List - - insertion.js or insertion.md `(file)` - - deletion.js or deletion.md `(file)` - -## For Algorithms Code Folders + +- JavaScript-DSA `(folder)` + - 01-Introduction `(folder)` + - 02-Data-Structures `(folder)` + - Linked-List `(folder)` + - Operations `(folder)` + - Singly-Linked-List `(folder)` + - insertion.js or insertion.md `(file)` + - deletion.js or deletion.md `(file)` + - Doubly-Linked-List + - insertion.js or insertion.md `(file)` + - deletion.js or deletion.md `(file)` + +### For Algorithms Code Folders + Example: - * 03-Algorithms - * Greedy Method `(folder)` - * Fractional-Knapsack-Problem.cpp `(file)` - * Recursion `(folder)` - * Divide and Conquer `(folder)` + +- 03-Algorithms + - Greedy Method `(folder)` + - Fractional-Knapsack-Problem.cpp `(file)` + - Recursion `(folder)` + - Divide and Conquer `(folder)` Thanks! :heart: :heart: :heart: -SERVER-X Team +SERVERX Team diff --git a/JavaScript/02 - Data-Structures/01 - Array/03 - Resources.md b/JavaScript/02 - Data-Structures/01 - Array/03 - Resources.md deleted file mode 100644 index a0cbad7..0000000 --- a/JavaScript/02 - Data-Structures/01 - Array/03 - Resources.md +++ /dev/null @@ -1,15 +0,0 @@ -# Resources to Learn Arrays in JavaScript - -| Type | Title | Author/Instructor | Link | -|---------------|----------------------------------------|-------------------------------|---------------------------------------------| -| **Books** | "JavaScript: The Good Parts" | Douglas Crockford | [Amazon](https://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742) | -| | "Eloquent JavaScript" | Marijn Haverbeke | [Eloquent JavaScript](https://eloquentjavascript.net/) | -| | "You Don't Know JS - Scope & Closures" | Kyle Simpson | [GitHub](https://github.com/getify/You-Dont-Know-JS/blob/2nd-ed/scope-closures/README.md) | -| **Websites** | Mozilla Developer Network (MDN) | Mozilla | [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Indexed_collections) | -| | W3Schools | W3Schools | [W3Schools JavaScript Arrays](https://www.w3schools.com/js/js_arrays.asp) | -| | GeeksforGeeks | GeeksforGeeks | [GeeksforGeeks JavaScript Arrays](https://www.geeksforgeeks.org/javascript-array/) | -| **YouTube** | "JavaScript Arrays - Beau teaches JavaScript" | Traversy Media | [YouTube Playlist](https://www.youtube.com/playlist?list=PLillGF-RfqbaEmlPcX5e_ejaK7Y5MydkW) | -| | "JavaScript Tutorial for Beginners: Learn JavaScript in 1 Hour" | Programming with Mosh | [YouTube](https://www.youtube.com/watch?v=W6NZfCO5SIk) | -| | "JavaScript Arrays Explained" | Programming with Mosh | [YouTube](https://www.youtube.com/watch?v=oigfaZ5ApsM) | - -These resources cover a variety of formats, including books, websites, and YouTube playlists, offering different learning experiences. Choose the ones that best fit your learning preferences and level of expertise. diff --git a/JavaScript/02 - Data-Structures/01 - Array/01 - Introduction.md b/JavaScript/Data-Structures/01-arrays/00-Introduction.md similarity index 51% rename from JavaScript/02 - Data-Structures/01 - Array/01 - Introduction.md rename to JavaScript/Data-Structures/01-arrays/00-Introduction.md index 2fc9a28..434fa47 100644 --- a/JavaScript/02 - Data-Structures/01 - Array/01 - Introduction.md +++ b/JavaScript/Data-Structures/01-arrays/00-Introduction.md @@ -1,12 +1,13 @@ # Introduction to Arrays in JavaScript + An array in JavaScript or in General is a versatile and fundamental data structure that allows the storage of multiple values within a single variable. It provides a way to organize and access elements through a numerical index or key. Arrays in JavaScript can hold a mix of data types, including numbers, strings, objects, or even other arrays. ## Table of Index -| Index | Topic | -|-------|-----------------------| -| 1 | Introduction | -| 2 | Operations related to Arrays in Javascript | +| Index | Topic | +| ----- | --------------------------------------------------- | +| 1 | Introduction | +| 2 | Operations related to Arrays in Javascript | | 3 | Resources to learn and Practice Arrays in Javascipt | ## Basic Operations of Arrays in JavaScript @@ -14,44 +15,54 @@ An array in JavaScript or in General is a versatile and fundamental data structu Arrays in JavaScript support a variety of operations that allow for efficient manipulation and retrieval of elements. Here are some basic operations: ### 1. **Declaration and Initialization:** - - Create an array and initialize it with elements. + +- Create an array and initialize it with elements. ## 2. **Accessing Elements:** - - Access elements by their index. - - Negative indexing to access elements from the end. + +- Access elements by their index. +- Negative indexing to access elements from the end. ### 3. **Updating Elements:** - - Modify the value of an element at a specific index. + +- Modify the value of an element at a specific index. ### 4. **Adding Elements:** - - **Push:** Add an element to the end of the array. - - **Unshift:** Add an element to the beginning of the array. - - **Splice:** Add elements at a specific index. + +- **Push:** Add an element to the end of the array. +- **Unshift:** Add an element to the beginning of the array. +- **Splice:** Add elements at a specific index. ### 5. **Removing Elements:** - - **Pop:** Remove the last element of the array. - - **Shift:** Remove the first element of the array. - - **Splice:** Remove elements from a specific index. + +- **Pop:** Remove the last element of the array. +- **Shift:** Remove the first element of the array. +- **Splice:** Remove elements from a specific index. ### 6. **Concatenation:** - - Combine two or more arrays to create a new array. + +- Combine two or more arrays to create a new array. ### 7. **Slicing:** - - Extract a portion of the array to create a new array. + +- Extract a portion of the array to create a new array. ### 8. **Searching:** - - **IndexOf:** Find the index of a specific element. - - **Includes:** Check if an array contains a specific element. + +- **IndexOf:** Find the index of a specific element. +- **Includes:** Check if an array contains a specific element. ### 9. **Sorting:** - - **Sort:** Arrange the elements in ascending or descending order. + +- **Sort:** Arrange the elements in ascending or descending order. ### 10. **Iterating:** - - Use loops or higher-order functions like forEach, map, filter, and reduce to iterate through elements. + +- Use loops or higher-order functions like forEach, map, filter, and reduce to iterate through elements. ### 11. **Length:** -- Access the `length` property to determine the number of elements in the array. +- Access the `length` property to determine the number of elements in the array. ## Conclution diff --git a/JavaScript/02 - Data-Structures/01 - Array/02 - Operations.md b/JavaScript/Data-Structures/01-arrays/01-Operations.md similarity index 89% rename from JavaScript/02 - Data-Structures/01 - Array/02 - Operations.md rename to JavaScript/Data-Structures/01-arrays/01-Operations.md index d475969..7b1fb5f 100644 --- a/JavaScript/02 - Data-Structures/01 - Array/02 - Operations.md +++ b/JavaScript/Data-Structures/01-arrays/01-Operations.md @@ -1,67 +1,95 @@ # Basic Operations of Arrays in JavaScript ## 1. **Declaration and Initialization:** - - Create an array and initialize it with elements. - ```javascript +- Create an array and initialize it with elements. + +```javascript let fruits = ['apple', 'orange', 'banana']; ``` -## 2. Accessing Elements: + +## 2. Accessing Elements + - Access elements by their index. - Negative indexing to access elements from the end. + ```javascript let firstFruit = fruits[0]; // Access the first element let lastFruit = fruits[fruits.length - 1]; // Access the last element using negative indexing ``` -## 3. Updating Elements: + +## 3. Updating Elements + - Modify the value of an element at a specific index. + ```javascript fruits[1] = 'grape'; // Update the second element ``` -# 4. Adding Elements: + +# 4. Adding Elements + - Push: Add an element to the end of the array. - Unshift: Add an element to the beginning of the array. - Splice: Add elements at a specific index. + ``` javascript fruits.push('kiwi'); // Add 'kiwi' to the end fruits.unshift('pineapple'); // Add 'pineapple' to the beginning fruits.splice(2, 0, 'lemon'); // Add 'lemon' at index 2 ``` -## 5. Removing Elements: + +## 5. Removing Elements + - Pop: Remove the last element of the array. - Shift: Remove the first element of the array. - Splice: Remove elements from a specific index. + ```javascript let removedLast = fruits.pop(); // Remove and return the last element let removedFirst = fruits.shift(); // Remove and return the first element let removedAtIndex = fruits.splice(1, 2); // Remove 2 elements starting from index 1 ``` -## 6. Concatenation: + +## 6. Concatenation + - Combine two or more arrays to create a new array. + ```javascript let moreFruits = ['mango', 'pear']; let combinedArray = fruits.concat(moreFruits); ``` -## 7. Slicing: + +## 7. Slicing + - Extract a portion of the array to create a new array. + ```javascript let slicedArray = fruits.slice(1, 3); // Extract elements from index 1 to 2 ``` -## 8. Searching: + +## 8. Searching + - IndexOf: Find the index of a specific element. - Includes: Check if an array contains a specific element. + ```javascript let indexOfBanana = fruits.indexOf('banana'); // Returns the index of 'banana' let includesMango = fruits.includes('mango'); // Returns true if 'mango' is present ``` -## 9. Sorting: + +## 9. Sorting + - Sort: Arrange the elements in ascending or descending order. + ```javascript fruits.sort(); // Sort elements in ascending order fruits.reverse(); // Reverse the order of elements ``` -## 10. Iterating: + +## 10. Iterating + - Use loops or higher-order functions like `forEach`, `map`, `filter`, and `reduce` to iterate through elements. + ```javascript // Using forEach fruits.forEach(fruit => { @@ -71,10 +99,15 @@ fruits.forEach(fruit => { // Using map let upperCaseFruits = fruits.map(fruit => fruit.toUpperCase()); ``` -## 11. Length: + +## 11. Length + - Access the `length` property to determine the number of elements in the array. + ```javascript let arrayLength = fruits.length; // Returns the number of elements in the array ``` + # Conclution -These concepts provide a foundational understanding of array operations in JavaScript. Feel free to use and modify these examples for your projects. \ No newline at end of file + +These concepts provide a foundational understanding of array operations in JavaScript. Feel free to use and modify these examples for your projects. diff --git a/JavaScript/Data-Structures/01-arrays/02-Resources.md b/JavaScript/Data-Structures/01-arrays/02-Resources.md new file mode 100644 index 0000000..b6080fb --- /dev/null +++ b/JavaScript/Data-Structures/01-arrays/02-Resources.md @@ -0,0 +1,15 @@ +# Resources to Learn Arrays in JavaScript + +| Type | Title | Author/Instructor | Link | +| ------------ | --------------------------------------------------------------- | --------------------- | ------------------------------------------------------------------------------------------------- | +| **Books** | "JavaScript: The Good Parts" | Douglas Crockford | [Amazon](https://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742) | +| | "Eloquent JavaScript" | Marijn Haverbeke | [Eloquent JavaScript](https://eloquentjavascript.net/) | +| | "You Don't Know JS - Scope & Closures" | Kyle Simpson | [GitHub](https://github.com/getify/You-Dont-Know-JS/blob/2nd-ed/scope-closures/README.md) | +| **Websites** | Mozilla Developer Network (MDN) | Mozilla | [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Indexed_collections) | +| | W3Schools | W3Schools | [W3Schools JavaScript Arrays](https://www.w3schools.com/js/js_arrays.asp) | +| | GeeksforGeeks | GeeksforGeeks | [GeeksforGeeks JavaScript Arrays](https://www.geeksforgeeks.org/javascript-array/) | +| **YouTube** | "JavaScript Arrays - Beau teaches JavaScript" | Traversy Media | [YouTube Playlist](https://www.youtube.com/playlist?list=PLillGF-RfqbaEmlPcX5e_ejaK7Y5MydkW) | +| | "JavaScript Tutorial for Beginners: Learn JavaScript in 1 Hour" | Programming with Mosh | [YouTube](https://www.youtube.com/watch?v=W6NZfCO5SIk) | +| | "JavaScript Arrays Explained" | Programming with Mosh | [YouTube](https://www.youtube.com/watch?v=oigfaZ5ApsM) | + +These resources cover a variety of formats, including books, websites, and YouTube playlists, offering different learning experiences. Choose the ones that best fit your learning preferences and level of expertise. diff --git a/JavaScript/02 - Data-Structures/02 - Linked-List/01 - Introduction.md b/JavaScript/Data-Structures/02-linked-list/00-Introduction.md similarity index 100% rename from JavaScript/02 - Data-Structures/02 - Linked-List/01 - Introduction.md rename to JavaScript/Data-Structures/02-linked-list/00-Introduction.md diff --git a/JavaScript/02 - Data-Structures/02 - Linked-List/02 - Single-Linked-List/01 - Operations/01 - Creation.md b/JavaScript/Data-Structures/02-linked-list/01-Single-Linked-List/01-Operations/01-Creation.md similarity index 100% rename from JavaScript/02 - Data-Structures/02 - Linked-List/02 - Single-Linked-List/01 - Operations/01 - Creation.md rename to JavaScript/Data-Structures/02-linked-list/01-Single-Linked-List/01-Operations/01-Creation.md diff --git a/JavaScript/02 - Data-Structures/02 - Linked-List/02 - Single-Linked-List/01 - Operations/02 - Insertion.md b/JavaScript/Data-Structures/02-linked-list/01-Single-Linked-List/01-Operations/02-Insertion.md similarity index 100% rename from JavaScript/02 - Data-Structures/02 - Linked-List/02 - Single-Linked-List/01 - Operations/02 - Insertion.md rename to JavaScript/Data-Structures/02-linked-list/01-Single-Linked-List/01-Operations/02-Insertion.md diff --git a/JavaScript/02 - Data-Structures/02 - Linked-List/02 - Single-Linked-List/01 - Operations/03 - Deletion.md b/JavaScript/Data-Structures/02-linked-list/01-Single-Linked-List/01-Operations/03-Deletion.md similarity index 100% rename from JavaScript/02 - Data-Structures/02 - Linked-List/02 - Single-Linked-List/01 - Operations/03 - Deletion.md rename to JavaScript/Data-Structures/02-linked-list/01-Single-Linked-List/01-Operations/03-Deletion.md diff --git a/JavaScript/02 - Data-Structures/02 - Linked-List/03 - Doubly-Linked-List/01 - Operations/00 - Creation.md b/JavaScript/Data-Structures/02-linked-list/02-Doubly-Linked-List/01-Operations/01-Creation.md similarity index 100% rename from JavaScript/02 - Data-Structures/02 - Linked-List/03 - Doubly-Linked-List/01 - Operations/00 - Creation.md rename to JavaScript/Data-Structures/02-linked-list/02-Doubly-Linked-List/01-Operations/01-Creation.md diff --git a/JavaScript/02 - Data-Structures/02 - Linked-List/03 - Doubly-Linked-List/01 - Operations/01 - Insertion.md b/JavaScript/Data-Structures/02-linked-list/02-Doubly-Linked-List/01-Operations/02-Insertion.md similarity index 100% rename from JavaScript/02 - Data-Structures/02 - Linked-List/03 - Doubly-Linked-List/01 - Operations/01 - Insertion.md rename to JavaScript/Data-Structures/02-linked-list/02-Doubly-Linked-List/01-Operations/02-Insertion.md diff --git a/JavaScript/02 - Data-Structures/02 - Linked-List/03 - Doubly-Linked-List/01 - Operations/02 - Deletion.md b/JavaScript/Data-Structures/02-linked-list/02-Doubly-Linked-List/01-Operations/03-Deletion.md similarity index 100% rename from JavaScript/02 - Data-Structures/02 - Linked-List/03 - Doubly-Linked-List/01 - Operations/02 - Deletion.md rename to JavaScript/Data-Structures/02-linked-list/02-Doubly-Linked-List/01-Operations/03-Deletion.md diff --git a/JavaScript/02 - Data-Structures/02 - Linked-List/05 - Resources and Practice.md b/JavaScript/Data-Structures/02-linked-list/03-Resources-and-Practice.md similarity index 100% rename from JavaScript/02 - Data-Structures/02 - Linked-List/05 - Resources and Practice.md rename to JavaScript/Data-Structures/02-linked-list/03-Resources-and-Practice.md diff --git a/JavaScript/02 - Data-Structures/03 - Stacks/01 - Introduction.md b/JavaScript/Data-Structures/03-stacks/00-Introduction.md similarity index 100% rename from JavaScript/02 - Data-Structures/03 - Stacks/01 - Introduction.md rename to JavaScript/Data-Structures/03-stacks/00-Introduction.md diff --git a/JavaScript/02 - Data-Structures/03 - Stacks/02 - Operations.md/01- Insertion.md b/JavaScript/Data-Structures/03-stacks/01-Operations.md/01-Insertion.md similarity index 100% rename from JavaScript/02 - Data-Structures/03 - Stacks/02 - Operations.md/01- Insertion.md rename to JavaScript/Data-Structures/03-stacks/01-Operations.md/01-Insertion.md diff --git a/JavaScript/02 - Data-Structures/03 - Stacks/02 - Operations.md/02 - Deletion.md b/JavaScript/Data-Structures/03-stacks/01-Operations.md/02-Deletion.md similarity index 100% rename from JavaScript/02 - Data-Structures/03 - Stacks/02 - Operations.md/02 - Deletion.md rename to JavaScript/Data-Structures/03-stacks/01-Operations.md/02-Deletion.md diff --git a/JavaScript/02 - Data-Structures/03 - Stacks/02 - Operations.md/03 - Other-Important-Operations.md b/JavaScript/Data-Structures/03-stacks/01-Operations.md/03-Other-Important-Operations.md similarity index 100% rename from JavaScript/02 - Data-Structures/03 - Stacks/02 - Operations.md/03 - Other-Important-Operations.md rename to JavaScript/Data-Structures/03-stacks/01-Operations.md/03-Other-Important-Operations.md diff --git a/JavaScript/02 - Data-Structures/03 - Stacks/03 - Resources-and-Practice.md b/JavaScript/Data-Structures/03-stacks/02-Resources-and-Practice.md similarity index 100% rename from JavaScript/02 - Data-Structures/03 - Stacks/03 - Resources-and-Practice.md rename to JavaScript/Data-Structures/03-stacks/02-Resources-and-Practice.md diff --git a/JavaScript/02 - Data-Structures/04 - Queues/01 - Introduction.md b/JavaScript/Data-Structures/04-queues/00-Introduction.md similarity index 100% rename from JavaScript/02 - Data-Structures/04 - Queues/01 - Introduction.md rename to JavaScript/Data-Structures/04-queues/00-Introduction.md diff --git a/JavaScript/02 - Data-Structures/04 - Queues/02 - Operations/01 - Insertion.md b/JavaScript/Data-Structures/04-queues/01-Operations/01-Insertion.md similarity index 100% rename from JavaScript/02 - Data-Structures/04 - Queues/02 - Operations/01 - Insertion.md rename to JavaScript/Data-Structures/04-queues/01-Operations/01-Insertion.md diff --git a/JavaScript/02 - Data-Structures/04 - Queues/02 - Operations/02 - Deletion.md b/JavaScript/Data-Structures/04-queues/01-Operations/02-Deletion.md similarity index 100% rename from JavaScript/02 - Data-Structures/04 - Queues/02 - Operations/02 - Deletion.md rename to JavaScript/Data-Structures/04-queues/01-Operations/02-Deletion.md diff --git a/JavaScript/02 - Data-Structures/04 - Queues/02 - Operations/03 - Other-Important-Operations.md b/JavaScript/Data-Structures/04-queues/01-Operations/03-Other-Important-Operations.md similarity index 100% rename from JavaScript/02 - Data-Structures/04 - Queues/02 - Operations/03 - Other-Important-Operations.md rename to JavaScript/Data-Structures/04-queues/01-Operations/03-Other-Important-Operations.md diff --git a/JavaScript/02 - Data-Structures/04 - Queues/03 - Resources-and-Practice.md b/JavaScript/Data-Structures/04-queues/02-Resources-and-Practice.md similarity index 100% rename from JavaScript/02 - Data-Structures/04 - Queues/03 - Resources-and-Practice.md rename to JavaScript/Data-Structures/04-queues/02-Resources-and-Practice.md diff --git a/Python/02 - Data_Structures/01 - Arrays/Easy/Maximum_in_Array.ipynb b/Python/Data-Structures/01-arrays/Easy/Maximum_in_Array.ipynb similarity index 100% rename from Python/02 - Data_Structures/01 - Arrays/Easy/Maximum_in_Array.ipynb rename to Python/Data-Structures/01-arrays/Easy/Maximum_in_Array.ipynb diff --git a/Python/02 - Data_Structures/01 - Arrays/Medium/Remove_duplicates.ipynb b/Python/Data-Structures/01-arrays/Medium/Remove_duplicates.ipynb similarity index 100% rename from Python/02 - Data_Structures/01 - Arrays/Medium/Remove_duplicates.ipynb rename to Python/Data-Structures/01-arrays/Medium/Remove_duplicates.ipynb diff --git a/Python/02 - Data_Structures/linked-list/easy/ReverseLinkedList.py b/Python/Data-Structures/02-linked-lists/easy/ReverseLinkedList.py similarity index 100% rename from Python/02 - Data_Structures/linked-list/easy/ReverseLinkedList.py rename to Python/Data-Structures/02-linked-lists/easy/ReverseLinkedList.py diff --git a/Python/02 - Data_Structures/linked-list/medium/2DtoList.py b/Python/Data-Structures/02-linked-lists/medium/2DtoList.py similarity index 100% rename from Python/02 - Data_Structures/linked-list/medium/2DtoList.py rename to Python/Data-Structures/02-linked-lists/medium/2DtoList.py diff --git a/Python/02 - Data_Structures/02 - Stack/Easy/Stack_operations.ipynb b/Python/Data-Structures/03-stacks/Easy/Stack_operations.ipynb similarity index 100% rename from Python/02 - Data_Structures/02 - Stack/Easy/Stack_operations.ipynb rename to Python/Data-Structures/03-stacks/Easy/Stack_operations.ipynb diff --git a/Python/02 - Data_Structures/02 - Stack/Medium/Reverse_string_using_stack.ipynb b/Python/Data-Structures/03-stacks/Medium/Reverse_string_using_stack.ipynb similarity index 100% rename from Python/02 - Data_Structures/02 - Stack/Medium/Reverse_string_using_stack.ipynb rename to Python/Data-Structures/03-stacks/Medium/Reverse_string_using_stack.ipynb diff --git a/games-based-on-dsa/.gitkeep b/games-based-on-dsa/.gitkeep new file mode 100644 index 0000000..e69de29