Additional Information for Week 1
What is Programming Competition? (*.pdf)
Rules of Programming Competitions (*.pdf)
Benefits of Participation (*.pdf)
Algorithmic Programming Competitions (*.pdf)
Problem Example. Training Resources And Online Contests (*.pdf)
Additional Information for Week 2
Big O Notation. Computational Complexity(*.pdf)
Linear Data Structures Overview (*.pdf)
Vector (*.pdf)
List (*.pdf)
Stack. Queue. Deque (*.pdf)
Additional Information for Week 3
Introduction to Sorting (*.pdf)
Insertion Sort (*.pdf)
When to Sort? Optimality to Sorted Sequences (*.pdf)
Quicksort (*.pdf)
Quicksort Modifications (*.pdf)
Mergesort (*.pdf)
Additional Information for Week 4
Lower Bound. Stable Sorting. Comparators (*.pdf)
Integer Sorting (*.pdf)
Sorting: Guidelines for Standard Libraries (*.pdf)
Introduction to Binary Search (*.pdf)
Implementations of Binary Search (*.pdf)
Priority Queue and Binary Heap (*.pdf)
Additional Information for Week 5
Introduction to Graphs (*.pdf)
Graphs: Representations in Memory (*.pdf)
Introduction to Depth First Search (*.pdf)
Depth First Search with Timestamps (*.pdf)
Topological Sort (*.pdf)
Introduction to Dynamic Programming (*.pdf)
Additional Information for Week 6
Eulerian Paths And Eulerian Tours (*.pdf)
Hamiltonian Paths And Hamiltonian Tours (*.pdf)
Breadth First Search (*.pdf)
Single Source Shortest Paths (*.pdf)
All Pair Shortest Paths (*.pdf)