Description
In this course, you will learn :
- How to prepare for competitive programming contests such as ACM ICPC, Google CodeJam, Facebook HackerCup, and many others.
- Sections that include a healthy mix of theory, code samples, step-by-step solved sample problems, illustrations, useful practise problems, and tips and tricks for quicker implementation.
Syllabus :
1. Complexity Analysis
- Algorithm Analysis
- Trivial Runtime Analysis
- Logarithmic Runtime
- Non Trivial Runtime
- Amortized Analysis
- Comparing Runtimes
2. Number Theory
- Algebra
- Geometry
- Solved Problem - Factorization
- Solved Problem - Check Prime
- Arithmetic Progression (AP)
- Geometric Progression (GP)
- Permutations
- Combinations
- Solved Problem - PnC
- Prime Factors
- Solved Problem - Prime Factorization
3. Arrays and Vectors
- Introduction
- Vectors
- Solved Problem - Reverse Subarray
- Solved Problem - Rotate Array
- Solved Problem - Merge Sorted Arrays
- Solved Problem - Subarray Sum
4. Sieve of Eratosthenes
- Sieve of Eratosthenes
- Implementation
- Complexity Analysis
- Solved Problem - Segmented Sieve
5. Strings
- Strings
- STL
6. Sorting
- Introduction
- Selection Sort
- Bubble Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- More on Sorting
- STL
7. Linked List
- Linked List vs Array
- Singly Linked List - Searching
- Singly Linked List - Insertion
- Singly Linked List - Deletion
8. Stack
- Stack
- Implementation
- STL
- Solved Problem - Balanced Parentheses Sequence
9. Queue
- Queue
- Implementation
- STL
10. Binary Tree
- Introduction
- Types of Binary Trees
- More on Binary Trees
11. Heap
- Heap
- Implementation
- Complexity Analysis
- STL
- Solved Problem - Kth Largest element
12. Binary Search Tree
- Binary Search Tree
- Searching
- Insertion
- Traversals
- Properties
- Deletion
- More on BSTs