Data structures and algorithms implemented in python,c,c++ and in Java
DSA are applicabale in our day to day lives from browsers,online booking systems,bank queues,Music players on our phones to google Maps their use cases are basically endless
For many problems, the ability to formulate an efficient algorithm depends on being able to
organize the data in an appropriate manner.
Data structure denotes a particular way of organizing data for particular types of operation.
This Repository therefore look at numerous data structures ranging from familiar arrays and lists to more complex structures such as trees,heaps and graphs
Further i explore their implementation in C ,C++, Python and in Java programming languages showing how their choice affects the efficiency of the algorithms based upon them.
Arrays
Queues
Stacks
Singly linked lists
Doubly linked lists
Trees
Graphs
Heaps
Searching Algorithms Sorting- Quicksort,Mergesort,Timsort,Heapsort,Bubblesort,Insertion sort,Selection sort, Tree sort,Shell sort,Bucket sort,Radix sort,Counting sort and Cube sort Graph algorithms - Topological sort, Floyd-Warshal algorithm,prims algotithm,Dijkistra's algorithm, Bellman-ford algorithm, A* search algorithm
- Introduction to Algorithms” by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
- Advanced Data Structures” by Peter Brass
- Grokking Algorithms: An illustrated guide for programmers and other curious people” by Aditya Bhargava