/Data_Structures_and_Algorithms.github.io

A collection of Data Structures and Algorithms in languages like C, C++, Java, Python etc.

Primary LanguageC++The UnlicenseUnlicense

Data_Structures_and_Algorithms

Welcome to learning Data Structures and Algorithms!

Types of Data Structures

Data Structures are broadly divided into two categories:

  • Linear Data Structures
  • Non-linear Data Structures

Subcategories

Linear Data Structures ____________________ Array
                                  |
                                  |________ Stack
                                  |
                                  |________ Queue
                                  |
                                  |________ Linked List
Non-linear Data Structures ________________ Graph
                                  |
                                  |________ Tree

Types of Algorithms

There can be hundreds of algorithms to shape your task. Here are ones for you to get started -

 Searching algorithms _______________________ Linear Search
                                  |
                                  |__________ Binary Search
                                  |
                                  |__________ Sublist Search
                                  |
                                  |__________ Substring Search
                                  |
                                  |__________ Jump Search
                                  |
                                  |__________ Interpolation Search
                                  |
                                  |__________ Exponential Search
                                  |
                                  |__________ Fibonacci Search
 Sorting algorithms _________________________ Selection Sort
                                  |
                                  |__________ Bubble Sort
                                  |
                                  |__________ Insertion Sort
                                  |
                                  |__________ Merge Sort
                                  |
                                  |__________ Quick Sort
                                  |
                                  |__________ Odd/Even or Brick Sort
                                  |
                                  |__________ Heap Sort
                                  |
                                  |__________ Sleep Sort
                                  |
                                  |__________ Pancake Sort
                                  |
                                  |__________ Counting Sort
                                  |
                                  |__________ Radix Sort

Contribution Guidelines

  • Anyone is free to contribute to this repository.
  • You can submit your DSA-related code in the respective language folders (i.e. C, C++, C#, Java, Python, MATLAB etc.), as this will help to maintain code effectively.
  • If you don't see the language you are comfortable with for creating a new file, fork this repository to add a folder in your fork, add your code file, and then submit a pull request.