Skip to content

Commit

Permalink
book: Add dsa
Browse files Browse the repository at this point in the history
  • Loading branch information
XuShaohua committed Mar 21, 2024
1 parent 75cd54b commit 03d8456
Showing 1 changed file with 119 additions and 0 deletions.
119 changes: 119 additions & 0 deletions book/dsa-geeksforgeeks.md
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 03d8456

Please sign in to comment.