└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Data-Structure-Algorithms 2 | This is a study plan for Data Structure & Algorithms. 3 | 4 | ## 5 | 6 | ## Programming Language 7 | Basically you can use any Programming Language for Data-Structure-Algorithms but here I'm using Python. 8 | 9 | ## Python 10 | To learn Python this playlist by Corey Schafer [Learn-Python-1](https://www.youtube.com/watch?v=YYXdXT2l-Gg&list=PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU) 11 | 12 | To learn Python this playlist by Sendex [Learn-Python-2](https://www.youtube.com/playlist?list=PLQVvvaa0QuDe8XSftW-RAxdo6OmaeL85M) 13 | 14 | Automate the Boring Stuff with Python [Python](https://automatetheboringstuff.com/) 15 | 16 | ## Books 17 | - [Data Structures and Algorithms in Python](https://www.amazon.com/Structures-Algorithms-Python-Michael-Goodrich/dp/1118290275/) 18 | - by Goodrich, Tamassia, Goldwasser 19 | - I loved this book. It covered everything and more. 20 | 21 | - [Introduction to Algorithms](https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844) 22 | - This book is a great ,but won't teach you how to write good code 23 | ## Problems 24 | Practice what you learn. 25 | - [GeeksForGeeks](https://practice.geeksforgeeks.org/topic-tags/?ref=home) 26 | - [LeetCode](https://leetcode.com) 27 | - [Hackerrank](https://www.hackerrank.com) 28 | - [Hackerearth](https://www.hackerearth.com) 29 | - [CodeChef](https://www.codechef.com) 30 | - [CodeForces](https://codeforces.com) 31 | 32 | ## Introduction to Algorithm 33 | - [What is an algorithm?](http://btechsmartclass.com/DS/U1_T1.html) 34 | - [Performance Analysis](http://btechsmartclass.com/DS/U1_T2.html) 35 | - [Space Complexity](http://btechsmartclass.com/DS/U1_T3.html) 36 | - [Time Complexity](http://btechsmartclass.com/DS/U1_T4.html) 37 | - [Asymptotic Notation](http://btechsmartclass.com/DS/U1_T5.html) 38 | 39 | ## Introduction to Data Structures 40 | - [Data Structures Playlist](https://www.youtube.com/playlist?list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P) 41 | - [Udemy Course for algorithms and data structures](https://www.udemy.com/algorithms-and-data-structures-in-python) 42 | 43 | ## Algorithmic complexity / Big-O / Asymptotic analysis 44 | Big-O measures the run time of algorithm as the size of input data increases. 45 | ### Videos 46 | - [Big-O](https://www.youtube.com/watch?v=i5zKiVIhiS0) 47 | - [Complexity Theory Basics](https://www.udemy.com/complexity-theory-basics/learn/v4/overview) 48 | ### Documentation 49 | - [Analysis of Algorithms](https://www.geeksforgeeks.org/analysis-of-algorithms-set-1-asymptotic-analysis/) 50 | - [Worst, Average and Best Cases](https://www.geeksforgeeks.org/analysis-of-algorithms-set-2-asymptotic-analysis/) 51 | - [Asymptotic Notations](https://www.geeksforgeeks.org/analysis-of-algorithms-set-3asymptotic-notations/) 52 | - [Space Complexity](https://www.geeksforgeeks.org/g-fact-86/) 53 | - [Amortized Analysis ](https://www.geeksforgeeks.org/analysis-algorithm-set-5-amortized-analysis-introduction/) 54 | 55 | 56 | ## Array / List 57 | Array/List is collection of items in a sequential manner. And items of array/list access by indexing. 58 | ### Videos 59 | - [Array/List](https://www.youtube.com/watch?v=HdFG8L1sajw&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&index=3&t=0s) 60 | - [Multidimensional list](https://www.youtube.com/watch?v=Go-FfGhxbSM&feature=youtu.be&list=PLQVvvaa0QuDe8XSftW-RAxdo6OmaeL85M) 61 | ### Documentation 62 | - [Introdunction to Array/List](https://www.geeksforgeeks.org/introduction-to-arrays/) 63 | - [Offical Documentation](https://docs.python.org/3/tutorial/datastructures.html) 64 | - [Multidimensional list](https://www.hackerearth.com/practice/data-structures/arrays/multi-dimensional/tutorial/) 65 | 66 | ## Stack 67 | Stack is Linear Data Structures.Stack works on principle Last in First Out (FILO). 68 | ### Video 69 | - [Stacks](https://www.youtube.com/watch?v=F1F2imiOJfk) 70 | ### Documentation 71 | - [Stack Intro](https://www.geeksforgeeks.org/stack-data-structure-introduction-program) 72 | - [Stack ADT](http://btechsmartclass.com/DS/U2_T1.html) 73 | - [More on Stack](https://www.geeksforgeeks.org/stack-data-structure/#design) 74 | ### Implementation 75 | - [Implementation of Stack](https://github.com/siAyush/Data-structures-and-Algorithms/blob/master/Stack/stack.py) 76 | 77 | 78 | 79 | --------------------------------------------------------------------------------