diff --git a/book/dsa-geeksforgeeks.md b/book/dsa-geeksforgeeks.md new file mode 100644 index 00000000..f4146af4 --- /dev/null +++ b/book/dsa-geeksforgeeks.md @@ -0,0 +1,119 @@ + +# DSA on geeksforgeeks.org + +TOC + +## 01.Introduction + +- Learn from the very basics "the background" of Analysis of Algorithms +- Get to know about Order of Growth, Best, Average and Worst cases of various algorithms +using Asymptotic Notations and much more + +## 02.Mathematics + +- Build your foundation with problems like Factorial of a Number, HCF, LCM +- Learn important concepts like Sieve of Eratosthenes + +## 03.Bit Magic + +- Acquire Knowledge of Bitwise Operators with the help of important example tutorials + +## 04.Recursion + +- Gain understanding of Recursion from its Introduction, writing base cases and Tail Recursion +- Solve popular problems like Rope Cutting Problem, Tower of Hanoi, Josephus Problem, etc + +## 05.Arrays + +- Master Arrays from its Introduction and Operations to solving problems like Stock Buy and Sell, Trapping Rain Water, etc + +## 06.Searching + +- Get familiar with Binary Search Technique with its analysis and various associated problems tutorials + +## 07.Sorting + +- Sort out your sorting concepts and learn about the important sorting techniques like Insertion sort, Quick sort and Radix sort to name a few + +## 08.Matrix + +- Escape your Matrix struggle by learning the foundation concepts like Multidimensional Array, Pass Matrix as Argument, Transpose, etc +- Solve problems like Matrix in a Snake Pattern, Spiral Matrix traversal and much more + +## 09.Hashing + +- Learn about Introduction and Time complexity analysis, Application of Hashing, Discussion on Direct Address Table and much more + +## 10.Strings + +- Learn Strings form its Introduction and Methods to popular problem tutorials on Rabin Karp Algorithm, KMP algorithm, etc + +## 11.Linked List + +- Learn about Singly, Doubly and Circular Linked List from Introduction to implementation +- Gain knowledge from important problems like loop detection, Intersection of two LL, LRU Cache etc + +## 12.Stack + +- Gain understanding of Stack from Introduction, application to implementation +- Learn from problems like Balanced Parenthesis, Stock Span Problems, Infix, Prefix and Postfix expressions etc + +## 13.Queue + +- Acquire Knowledge of Queue with important example tutorials on Reversing a Queue, Generate numbers with given digits and much more + +## 14.Deque + +- Learn Deque Implementation from problems like Maximums of all sub-arrays of size k, First Circular Tour, etc + +## 15.Tree + +- Introduction and Implementation of various tree traversal (Inorder, Preorder and Postorder) +- Video tutorials starting from basic problems like Height of Binary tree, Level order traversal to more advanced problems like Burn a Binary tree from a leaf, Serialize and Deserialize a Binary Tree, etc + +## 16.Binary Search Tree + +- Get foundational understanding of BST Search, Insert and Delete operations +- Solve problems like Check for BST, Vertical Sum in a Binary tree and much more + +## 17.Heap + +- Learn concepts related to Min Heap, Max Heap, Priority Queue and solve related problems + +## 18.Graph + +- Gain understanding of foundational concepts like Graph Representation, BFS, DFS, etc +- Learn about the popular Prim's, Dijkstra, Kosaraju algorithms and much more with tutorials and problems. + +## 19.Greedy + +- Learn Greedy Algorithms with problems like Activity Selection Problem, Fractional Knapsack and much more + +## 20.Backtracking + +- Acquire concepts of Backtracking, Rat In a Maze, N Queen Problem, Sudoku Problem and much more + +## 21.Dynamic Programming + +- Build a strong foundation of DP memoization and tabulation techniques +- Master DP with problems like LCS, Coin Change, LIS and Egg Dropping Problems to name a few. + +## 22.Trie + +- Learn about Trie concepts like representation, search, insert and delete with related problems + +## 23.Segment and Binary Indexed Tree + +- Get acquainted with Segment tree and Binary Indexed tree concepts with example problems + +## 24.Disjoint Set + +- Learn about Disjoint Set Introduction, Find and Union Operations, Union by Rank, Path Compression and much more + +## 25.Projects + +- Sudoku Solver +- Shortest Path Finder +- Tic Tac Toe +- N Queen Visualizer +- Binary Tree Visualizer