Contents

0. Table of Content

/en/algo/intro/img/algo-summary.png
Algorithm Summary

Everything you need to know to prepare for a technical interview. Beginner-friendly tutorial of Data Structure and Algorithm, summary of categorized algorithm questions, and notes for Java and Object Oriented Design.

/en/algo/intro/img/ds-summary.png
Data Structure Summary

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.

Popular interview algorithm problems summarized by different patterns.

Fundamental

  • Introduction to Algorithms in Interview
  • Summary of Data Structure
  • Iterative in LinkedList
  • Binary Search

Recursion

  • Introduction to Recursion
  • Recursion in LinkedList
  • Recursion in Tree
  • Recursion to Iterative

Two Pointers

  • Two Sum Pattern: Code
  • Slow-Fast Pointers
  • K-way Merge
  • Deduplication
  • Sliding Window
  • Partition

Sorting

  • Merge Sort
  • Quick Sort
  • Quick Selection
  • Bucket Sort and Count Sort

BFS

  • Level Order Traversal
  • The Shortest Path
  • Connected Component
  • Topology Sorting
  • Best-First Search and Dijkstra

DFS

  • Subset
  • Permutation
  • Parentheses
  • Memoization
  • Graph Search

DP

  • 1D DP
  • 2D DP
  • Greedy
  • Merge Intervals

  • Two Heap Pattern

  • Top-K Problem

  • Union Find

  • Data Structure Design

  • Bit Operations