My summary of patterns for algorithm questions, based on similarities of techniques we used to solve the problem, with detailed beginner-friendly tutorial of Data Structure and Algorithm.
English version tutorial will be updating regularly, please check my website:
Algorithm Interview Preparation by zdong1995.
Welcome to check my repository LeetCode-Solution-Well-Explained with detailed explanations and comments for LeetCode questions in different categories. If this is helpful for you, please feel free to add a star to the repo. Thank you! ❤️
This repo will be updated as following parts:
-
Part 1: Start from basic Data Structure and Algorithm to get good understanding of Recursion, use Two Pointers technique in large mounts of questions and practice sorting algorithms.
-
Part 2: Search algorithm, especially graph search. BFS, DFS, pruning, memoization, greedy and dynamic programming.
-
Part 3: Popular problems and advanced data structure like Trie, Union Find, TreeSet, TreeMap.
- Fundamental
- Recursion
- Two Pointers
- Sorting
- Breadth First Search (BFS)
- Depth First Search (DFS)
- Dynamic Programming (DP)
- Popular Problems
Popular interview algorithm problems summarized by different patterns.
- Introduction to Recursion
- Recursion in LinkedList
- Recursion in Tree
- Recursion to Iterative
- Two Sum Pattern: Code
- Slow-Fast Pointers
- K-way Merge
- Deduplication
- Sliding Window
- Partition
- Merge Sort
- Quick Sort
- Quick Selection
- Bucket Sort and Count Sort
- Level Order Traversal
- The Shortest Path
- Connected Component
- Topology Sorting
- Best-First Search and Dijkstra
- Subset
- Permutation
- Parentheses
- Memoization
- Graph Search
- 1D DP
- 2D DP
- Greedy
-
Merge Intervals
-
Two Heap Pattern
-
Top-K Problem
-
Union Find
-
Data Structure Design
-
Bit Operations