● Searching (Linear, Binary Search) ● Sorting (Bubble, Selection, Insertion, Merge, Quick Sort) ● Two-pointer techniques ● Sliding window techniques ● Kadane's Algorithm (for maximum subarray sum) ● Finding duplicates, missing elements ● Rotating and reversing arrays ● Subarray with a given sum
Week 3: September 21 - September 27
Focus: Linked Lists Linked List Operations: ● Creation and traversal of singly and doubly linked lists ● Insertion and deletion at the beginning, end, and middle ● Reversing a linked list (iterative and recursive) ● Detecting cycles in a linked list (Floyd’s Cycle Detection) ● Merging two sorted linked lists ● Finding the middle of a linked list ● Removing duplicates from a sorted linked list ● Intersection of two linked lists ● Flattening a linked list
Week 4: September 28 - October 4
Focus: Stacks and Queues Stack Operations:
● Push, Pop, Peek, and Check if Empty
● Implementing stack using arrays and linked lists ● Balanced parentheses problem ● Infix, Prefix, and Postfix conversions ● Next Greater Element ● Stock Span problem ● Implementing a stack using two queues and vice versa ● Min Stack problem
Queue Operations:
● Enqueue, Dequeue, Peek, and Check if Empty
● Implementing queue using arrays and linked lists ● Circular Queue implementation ● Deque (Double-ended Queue) ● Priority Queue and Heap basics ● Implementing a queue using two stacks
Week 5: October 5 - October 11
Focus: Trees and Graphs Tree Operations:
● Binary Tree creation and traversal (Inorder, Preorder, Postorder)
● Binary Search Tree (BST) operations (Insertion, Deletion) ● Lowest Common Ancestor (LCA) ● Level Order Traversal ● Height of a tree ● Balanced Binary Tree check ● Diameter of a Binary Tree ● Trie operations (insertion, search) ● AVL Tree basics ● Segment Tree basics
● Depth First Search (DFS) ● Breadth First Search (BFS) ● Shortest Path algorithms (Dijkstra’s, Bellman-Ford) ● Topological Sort ● Minimum Spanning Tree (Kruskal’s, Prim’s) ● Detecting cycles in a graph (Undirected and Directed) ● Strongly Connected Components (Kosaraju's algorithm) ● Union-Find algorithm for cycle detection in a disjoint set