Training plan

Tree

  • Definition
  • Heap
    • Insertion
    • Delete min
    • Find min
  • Binary Seacrh Tree (AVL / Splay / Treap)
    • Insertion
    • Deletion
    • Search
    • Augmentation

Dynamic Programming

  • Definition
  • Types
  • Classical examples
    • Fibonacci
    • LIS: Longest Increasing Subsequence
    • LCS: Longest Common Subsquence
    • Knapsack
  • Improving space complexity
  • Advanced examples

Graph

  • Terminologies
  • Some special graphs
  • Graph representations
    • Adjacency matrix
    • Adjacency list
    • Edge list
  • DFS / BFS
  • Topological sort (+ Dynamic programming on DAG)
  • Floyd Warshall (All pairs shortest path)
  • Dijkstra (Single source shortest path)
  • Bellmanford (Single source shortest path)

Lectures

  1. [Tree definition - Heap]
  2. [Binary Search Tree]
  3. [DP definition - Classical Examples]
  4. [Improving space complexity - Advanced examples]
  5. [Graph definition - DFS / BFS]
  6. [Topo sort - Floyd]
  7. [Dijkstra - Bellmanford]