Competitive Programming

Competitive Programming

Duration : 11.5 hours

What you’ll learn

  • Competitive Programming
  • Algorithms
  • Data Structures
  • Programming
  • Merge Sort, QuickSort, Count Sort, Bucket Sort
  • Linear Search, Binary Search, QuickSelect, Two Pointer Technique
  • Stacks, Queues, Hash Tables, Hash Sets, Heap-Based Structures, Binary Search Tree-Based Data Structures, Coordinate Compression, Custom Comparators
  • Hash Functions, Collisions, Rabin-Karp, Sliding Window Technique
  • Greedy Algorithms
  • Iterative Complete Search, Backtracking, Permutations, Subsets, Pruning
  • Divide and Conquer, Binary Search the Answer, the Bisection Method
  • Dynamic Programming: Competitive Approach, Top-Down and Bottom-Up DP, Space Optimisation, Prefix Sums, Backtracking to Find Solutions
  • Graph Representation: Adjacency Lists, Adjacency Matrices, Edge Lists, Weighted and Unweighted Graphs
  • Graph Exploration: Breadth-First Search (BFS), Depth-First Search (DFS), Connected Components, Multi-Source BFS
  • Directed Graphs and Cycles: Topological Sort, Strongly Connected Components, BFS for Single-Source Shortest Paths
  • Shortest Paths: Dijkstra, Floyd-Warshall’s, Bellman-Ford and Negative-Weight Cycles, Arbitrages and the Logarithm Trick
  • Trees: Special Properties, Faster Shortest Paths, Diameter, Minimum Spanning Trees
  • Union-Find Disjoint Sets: Optimised Implementation, Kruskal’s Algorithm, Minimum Spanning Tree Variants
  • Strings: Dynamic Programming on Strings, Longest Common Subsequence, Edit Distance, Longest Palindromic Substring, Tries, Suffix Tries
  • Game Theory: States and Transitions, Minimax for Optimal Game Playing, Dynamic Programming To Recover Optimal Strategies
  • Approaching Interactive Problems

Deal Score0