0% found this document useful (0 votes)
17 views9 pages

Timeline of C++ Course

Uploaded by

Pavan Aenugula
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views9 pages

Timeline of C++ Course

Uploaded by

Pavan Aenugula
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Index

(Started from 17th August 2023)


1. Understanding computer programs (First week - 17/08/2020)

- What is computer program and algorithm


- What is flowchart
- What is pseudocode
- Examples
- Setting up c++ environment
- Hello world program
- Brain teasers

2. Programming Fundamentals l (First week)


- Data Types and ranges
- Type modifiers
- Input output in C++
- If else
- Loops - while, do while, for

3. Programming Fundamentals ll (First week)


- Break and continue
- Switch
- Operators - arithmetic, relational, logical, bitwise, assignment

4. Pattern Questions (First week 17/08/2023)


- Introductory examples
- Difficult examples

5. Basics of Number System (First week)


- Binary number system
- Reverse a number
- Armstrong number
- Prime numbers

6. Functions (second week) (First week)


- Introduction to functions
- Examples

7. Space and time complexity (Second week 20/08/2023 - 26/08/2023)


- Definition and basics
- Polynomial evaluation
8. Arrays (Second week)
- Introduction to arrays
- Linear search and Binary search
- Sorting algorithms
- STL sort
- Max subarray sum
- Pair sum problem

9. 2D arrays (Second week)


- Introduction and searching
- Example questions

10. Character arrays (Third week 27/08/2023 - 02/09/2023)


- Introduction and input
- Palindromic arrays
- Largest word in a string

11. Strings (Third week)


- Intro + STL functions on strings
- Sorting a string

12. Questions (Third week)


- Target sum triplets
(https://www.geeksforgeeks.org/find-a-triplet-that-sum-to-a-given-value/)
- Max circular sum
(https://www.geeksforgeeks.org/maximum-contiguous-circular-sum/)
- String questions

13. Pointers (Third week)


- & operator
- Introduction to pointers
- Dereference operator
- Pass by reference and Pass by value

14. Dynamic Memory Allocation (Third week)


- Compile time and run time
- Heap and Stack
- New, delete

15. Bit Manipulation (Fourth week 03/09/2023 - 09/09/2023)


- Get, set, clear, update
- Is Power of 2
- Number of ones
- Generate subsets
16. Questions (Fourth week)
- Unique number in an array of duplicates
- 2 unique numbers in an array of duplicates
- Unique number in an array of triplets

17. Prime Sieve (Fourth week)


- Prime sieve

18. Number Theory basics (Fourth week)


- Euclid’s algo for GCD
- Inclusion exclusion principle

19. Introduction to Recursion (Fourth week)


- Call stack
- Fibonacci numbers
- Factorial
- Fast power
- First occurrence and last occurrence
- Increasing, Decreasing order
- Time complexity for recursive functions (Master’s theorem)

20. Recursion - ll (Fourth week)


- Tower of hanoi
- Reverse string
- Replace pi
- Remove duplicates
- Move all x
- Subsequence generation
- Generate permutations

21. Recursion - lll (Fourth week)


- Permutation
- Board game
- 0-1 Knapsack
- Tiling problem
- Friends pairing problem
- Count paths in Maze

22. Backtracking (Fifth week 10/09/2023 - 16/09/2023)


- Rat in maze problem
- N-queen problem
23. Divide and Conquer (Fifth week)
- Merge sort
- Quick sort

24. More sorting techniques (Fifth week)


- Counting sort
- DNF algorithm
- Wave sort

25. OOPS concepts (Fifth week)


- Classes and objects
- Data members and functions
- Getters, setters
- Constructor & its types
- Shallow and deep copy
- Copy assignment
- Destructor
- Overloading

26. STL (Fifth week)


- Pair class
- Other STL functions, Iterators, comparators 3 -
Templates

27. Vectors (Fifth week)


- Intro
- Methods
- Sorting
- Template

28. Linked List (Fifth week)


- Introduction and implementation
- Insertion in linked list
- Searching in linked list
- Deletion in linked list
- Reverse a linked list
- Iterative and recursive solution
- K reverse problem
- Floyd's cycle detection and removal
- Doubly linked list
- Circular linked list
29. Challenges (Sixth week 17/09/2023 - 23/09/2023)
- K append
- Even after odd
- Intersection point
- Merge 2 sorted linked lists

30. Stacks (Sixth week)


- Introduction
- Implement using array
- Implement using linked list
- Reverse a stack
- Balanced parenthesis

31. Infix, prefix, postfix (Sixth week)


- Infix, prefix, postfix expression evaluation
- Infix to prefix using stack
- Infix to postfix using stack

32. Queues (Sixth week)


- Introduction
- Implement using array
- Implement using linked list
- Implement stack using queue
- Implement queue using stacks

33. Deque (Sixth week)


- Introduction
- Maximum element
- Max length unique character substring

34. Questions (Seventh week 24/09/2023 - 30/09/2023)


- Histogram area
- Circular tour
- Balanced parentheses

35. Binary Trees (Seventh week)


- Introduction
- Preorder, inorder, postorder
- Level order
- Sum at level K
- Height and Diameter of Binary Tree
- BFS traversal
- DFS traversal
- Count and sum nodes
- Height balanced tree
- Build balanced tree from array
- Different views of binary tree
- Nodes at distance K
- Lowest common ancestor

36. Questions (Seventh week)


- Build from inorder and preorder
- Sum at level K
- Sum replacement problem
- Maximum sum path
- Shortest distance between nodes

37. Binary Search Tree (Eighth week 01/10/2023 - 07/10/2023)


- Introduction
- Implementation and insertion
- Searching
- Deletion
- Check for BST
- Find min and max element
- Flatten a tree
- Construct from preorder
- Catalan no concept
- Set STL

38. Questions (Eighth week)


- Structurally identical BST
- ZigZag order
- Largest BST in BT

39. Heaps (Eighth week)


- Introduction to priority queue
- Heaps, insertion
- Remove min and max element
- Build heap from array
- Heapsort
- Priority queue STL, Running median

40. Challenges (Eighth week)


- Top k most frequent numbers in stream
- Merge k sorted arrays
- Length of Smallest Subsequence such that sum of elements is greater than equal to K
41. Hashtable (Ninth week 08/10/2023 - 14/10/2023)
- Introduction to hash functions
- Collision handling and separate chaining
- Rehashing, load factor
- Unordered_map STL
- Max frequency character
- Vertical order print

42. Hashing Problems (Ninth week)


- Number of subarrays with sum 0
- Longest subarray with sum k
- Longest consecutive subsequence
(https://www.geeksforgeeks.org/longest-consecutive-subsequence/)
- Minimum window substring

43. Greedy Algorithm (Ninth week)


- Introduction
- Activity selection problem
- Job selection problem
- 0/n knapsack problem
- Optimal merge pattern problem
- Huffman coding problem

44. Challenges (Ninth week)


- Coin change
- Max Circles
- Dividing array

45. Dynamic Programming (Tenth week 15/10/2023 - 21/10/2023)


- Introduction
- Fibonacci problem
- Minimum steps to 1
- Minimum coin change
- Maximum subarray sum
- Snakes and Ladders
- 0/1 knapsack
- LIS and LCS problem
- Matrix chain multiplication
- Friends pairing problem
- Catalan number concept
- Optimal game strategy
- Optimal binary search tree
- All pair shortest path problem
46. Challenges (Tenth week)
- No. of Binary String
- LCS w 3 strings
- Wildcard pattern matching
- Brackets all over
- Max length bitonic subsequence
- Max sum submatrix
(https://www.geeksforgeeks.org/maximum-sum-rectangle-in-a-2d-matrix-dp-27/)

47. Graphs - l (Tenth week 22/10/2023 - 28/10/2023)


- Introduction
- Representation
- Adjacency list implementation
- BFS
- DFS
- Topological sort
- Cycle detection in directed and undirected graph
- Connected components
- Pairing problem
- Bipartite graph check

48. Graphs - ll (Tenth week)


- Disjoint set introduction
- Union and find
- Path compression
- Union by rank optimisation
- Implementation

49. Graphs - lll (Tenth week)


- Kruskal’s algorithm
- Prim’s algorithm
- Dijkstra’s algorithm
- Bellman ford algorithm
- Floyd Warshall algorithm
- Strongly connected component using Kosaraju’s algo

50. Challenges (Tenth week)


- Snakes and ladders problem
- MST problem
- Beautiful vertices
51. Questions (Twelfth week 31/12/2020 - 6/01/2021)
- Sum of all submatrices in a matrix
- Searching in sorted matrix
- Rain water harvesting (https://www.geeksforgeeks.org/trapping-rain-water/)
52. Number theory Advanced (Thirteenth week)
- Extended Euclid
- Multiplicative modulo inverse
- Euler totient function
- Segmented sieve
- Binary/Modular exponentiation - both recursive and iterative -
Matrix Exponentiation - It’s cases
- Fermat little theorem, wilson theorem
53. Tries (Thirteenth week)
- Data structure introduction
- Insertion
- Searching
- Phonebook problem
- Xor subarray problem

54. Questions (Thirteenth week)


- Intersection of 2 arrays
- String window
- Subarrays with distinct element
- Digital dictionary

55. String algorithms (Thirteenth week)


- Brute force
- KMP
- Finite automata
- Robin karp

56. Segment tree (Fourteenth week 7/01/2021 - 13/01/2021)


- Intro, build, updation, query
- Min, max, sum in the subarray
- Lazy propagation

57. Binary indexed tree (Fourteenth week)


- Structure of BIT
- Update or build, query.
- Problems

58. Mo’s (sqrt decomposition) (Fifthteenth week 14/01/2021 - 20/01/2021) -


Offline processing of queries with examples
- Introduction, code and examples

59. HLD (Fifthteenth week)


60. Fourier series (Fifthteenth week)

You might also like