Data Structure and Algorithm
Week 1-2: Introduction to Data Structures and Algorithm Analysis
- Introduction to Data Structures and Algorithms
- Analysis of Algorithms: Time Complexity, Space Complexity
- Big O notation, Omega notation, Theta notation
- Basic Problem Solving Techniques: Brute Force, Greedy Algorithms
- Analysis of Algorithms: Time Complexity, Space Complexity
- Big O notation, Omega notation, Theta notation
- Basic Problem Solving Techniques: Brute Force, Greedy Algorithms
Week 3-4: Arrays and Strings
- Arrays: Introduction, Operations, Searching, Sorting
- Strings: Introduction, Operations, String Matching Algorithms
- Solving Problems using Arrays and Strings
- Strings: Introduction, Operations, String Matching Algorithms
- Solving Problems using Arrays and Strings
Week 5-6: Linked Lists
- Singly Linked Lists, Doubly Linked Lists, Circular Linked Lists
- Operations on Linked Lists: Insertion, Deletion, Traversal
- Solving Problems using Linked Lists
- Operations on Linked Lists: Insertion, Deletion, Traversal
- Solving Problems using Linked Lists
Week 7-8: Stacks and Queues
- Introduction to Stacks and Queues
- Stack Operations: Push, Pop, Peek
- Queue Operations: Enqueue, Dequeue, Front, Rear
- Solving Problems using Stacks and Queues
- Stack Operations: Push, Pop, Peek
- Queue Operations: Enqueue, Dequeue, Front, Rear
- Solving Problems using Stacks and Queues
Week 9-10: Trees
- Introduction to Trees: Binary Trees, Binary Search Trees (BST)
- Tree Traversal: Inorder, Preorder, Postorder
- Binary Tree Operations: Insertion, Deletion, Searching
- Solving Problems using Trees
- Tree Traversal: Inorder, Preorder, Postorder
- Binary Tree Operations: Insertion, Deletion, Searching
- Solving Problems using Trees
Week 11-12: Graphs
- Introduction to Graphs: Terminology, Representation
- Graph Traversal: Breadth-First Search (BFS), Depth-First Search (DFS)
- Minimum Spanning Trees: Kruskal's Algorithm, Prim's Algorithm
- Shortest Path Algorithms: Dijkstra's Algorithm, Bellman-Ford Algorithm
- Graph Traversal: Breadth-First Search (BFS), Depth-First Search (DFS)
- Minimum Spanning Trees: Kruskal's Algorithm, Prim's Algorithm
- Shortest Path Algorithms: Dijkstra's Algorithm, Bellman-Ford Algorithm
Week 13-14: Advanced Data Structures
- Heap Data Structure: Introduction, Operations, Heap Sort
- Hashing: Introduction, Hash Functions, Collision Resolution Techniques
- Advanced Problem Solving Techniques: Divide and Conquer, Dynamic Programming
- Hashing: Introduction, Hash Functions, Collision Resolution Techniques
- Advanced Problem Solving Techniques: Divide and Conquer, Dynamic Programming
Week 15-16: Advanced Algorithms and Problem Solving
- Advanced Sorting Algorithms: Merge Sort, Quick Sort
- Advanced Graph Algorithms: Topological Sorting, Strongly Connected Components (SCC)
- Advanced Topics in Problem Solving: Backtracking, Branch and Bound
- Competitive Programming Techniques and Practice
- Advanced Graph Algorithms: Topological Sorting, Strongly Connected Components (SCC)
- Advanced Topics in Problem Solving: Backtracking, Branch and Bound
- Competitive Programming Techniques and Practice