- Number system
- Variables
- Operators
- Loops
- If else
- Functions
- Pointers
- Arrays (1D and 2D)
- References
- Basic Two Pointers problems
- Intro to vectors
-
Time and Space Complexity
- Experimental Analysis
- Asymptotic Analysis
- Space time tradeoff
- Big O, Big Omega, Big Theta
- Problem Solving on TnC
- Space Complexity
- (Recursive time complexity will be discussed post recursion)
-
Recursion
-
Part 1 (Basic Fundamentals of Recursion)
- Factorial
- Power unoptimised
- Power optimised
- Fibonacci
- Print Increasing
-
Part 2 (Problem Solving On Basic Recursion)
- Print Decreasing
- Sum of digits recursive
- Count binary strings without consecutive 1s
- Frog Jump
- Assignment
-
Part 3 (Array based recursion)
- Sum of array
- Element existing in array or not
- Is Array arranged in asc order ?
- Sum of digits of a string
- Assignment
-
Part 4 (Printing technique of recursion)
- Maze_path print
- Maze_path count
- Subsequence Print
- Remove occurence of X
- Letter combination of a phone number
- Assignment
-
Part 5 (Interview Problems On Recursion)
- Is String Palindrome
- Is String Palindrome without size function
- Pattern Print
- Pattern print without a single loop or string concat
- Power Sum
- Generate Parenthesis
-
Part 6 (Harder recursion Problems)
- Friends pairing
- Tiling
- Acode
- Family Structure
-
-
Sorting
- Bubble
- selection
- insertion
- merge sort
- inv cnt
-
Backtracking
-
Sorting
- Bubble
- Selection
- Insertion
- Merge
- Quick
- Count
- Heap sort (discussed later in heaps)
-
Searching
- Linear
- Binary
- Ternary
-
Two Pointer
-
Bit manip
-
Linked List
-
Stacks
-
Queues
-
Binary trees
-
Binary search trees
-
Hashtables
-
Heaps
-
Greedy
-
Tries
-
Segment trees
-
Graphs
-
Dynamic programming
-
String algorithms
-
Maths and combinatorics
-
Few more..