You are on page 1of 3

DS & ALGO

Week 1:
• Day 1: Introduction- Analysis of Algorithms, Asymptotic Notation,
Time Complexity, Space Complexity.
• Day 2,3,4: Arrays- Introduction, types, operations, and few
questions. Practice Problems.
• Day 5,6,7: Recursion- Application, Tail Recursion, Base Conditions,
Tower of Hanoi and few questions. Practice Problems. Attempt
Contest 1.

Week 2:
• Day 1,2,3: Hashing- Concept of hashing, Separate chaining and
open addressing, implementation of hashing in Cpp/Java, and few
questions. Practice Problems.
• Day 4,5,6,7: Strings- Introduction, String Matching Algorithms,
Lexicographic rank of string, Longest substring with distant
characters, and few questions. Practice Problems.

Week 3:
• Day 1,2: Searching- Linear, Binary, Ternary Search, Modified
Binary Search to find floor, ceil, index of 1 st and last occurrence,
find Square root, and few questions. Practice Problems.
• Day 3,4,5,6: Sorting- All types of sorting with best, average, worst
time complexity, Problems using merge sort and Quick Sort
implementation, Comparator, inbuilt sort function, Lomuto
Partition, Hoare Partition and few questions. Practice Problems.
Attempt Contest 2.
• Day 7: Linked List- Implementation, Traversal in LL, Search, Insert
and delete at various positions in LL, reverse LL, remove
duplicates from sorted LL and few other questions. Practice
Problems.

Week 4:
• Day 1,2: Continuation of Week 3 Day 7 topics.
• Day 3,4: Circular Linked List- Implementation, Traversal in CLL,
Search, Insert and delete at various positions in CLL. Practice
problems.
• Day 5,6,7: Doubly Linked List- Implementation, Insert and delete at
various positions in DLL, reverse DLL, Circular Doubly Linked
List. Practice problems. Attempt Contest 3.

Week 5:
• Day 1,2,3: Stacks- Introduction, implementation and operations
using array and linked list, inbuilt stack functions in C++/Java, and
few questions. Practice Problems.
• Day 4,5,6,7: Queue and Deque- Introduction, implementation and
operations using array and linked list, queue and deque inbuilt
functions in C++/Java, and few Questions. Practice Questions.
Attempt Contest 4.

Week 6:
• Day 1,2,3: Trees- Introduction and types of trees, Traversal in
Binary tree, and few questions. Practice Problems.
• Day 4,5,6: Binary Search Trees- Trees- Introduction and
properties of BST, Creation, Searching, Deletion, Insertion in a
BST, implementation of BST, and few questions. Practice
Problems.
• Day 7: Heaps- Introduction to Heap, Creation, Insertion, Deletion,
Heapify, Priority Queues and related application in questions.
Practice Problems

Week 7:
• Day 1: Continuation of Week 6 Day 7 topics.
• Day 2,3,4,5: Graphs- Introduction to Graphs, properties, and
representations, traverse the graphs using BFS and DFS, detect
cycles, topological sorting in a graph. Practice Problems. Attempt
Contest 5.
• Day 6,7: Greedy - Practice Questions related to different Greedy
approaches (Activity Selection Problem, Fractional Knapsack, Job
Sequencing Problem).

Week 8:

• Day 1,2,3,4: Dynamic Programming- Introduction to Dynamic


Programming, overlapping subproblems, and optimal
substructures, Top-down and bottom-up approaches to solving a
DP problem, All different types of DP problems and their
variations. Practice Questions.
• Day 5,6,7: Backtracking- Introduction, Rat in a maze, N Queen
Problem, Suduko Problem. Practice questions. Attempt Contest 6.

Note 1: This is a recommended plan to complete the course, but it is the complete
discretion of the candidates to choose their way of completion of the course
depending on the availability and efficiency of the course.

Note 2: Also while solving tracks it is advisable to complete the Contests


simultaneously.

You might also like