Data Structures & Algo
Course Description
Master the core concepts of Data Structures and Algorithms to enhance your problem-solving and coding skills. This course covers arrays, linked lists, trees, graphs, sorting, searching, dynamic programming, and advanced data structures, preparing you for competitive programming and technical interviews.
Course Curriculum
- Introduction to Stacks (LIFO)
- Stack Operations (Push, Pop, Peek)
- Applications of Stacks (Expression Evaluation, Function Calls)
- Introduction to Queues (FIFO)
- Queue Operations (Enqueue, Dequeue, Peek)
- Types of Queues: Circular Queue, Priority Queue
- Implementing Stacks and Queues using Arrays/Linked Lists
- Introduction to Trees
- Binary Trees and Binary Search Trees (BST)
- Tree Traversals (Inorder, Preorder, Postorder)
- AVL Trees and Balancing Trees
- Heap Trees (Min-Heap, Max-Heap)
- Priority Queues using Heaps
- Binary Search Tree Operations (Insertion, Deletion, Searching)
- Balanced Binary Search Trees (AVL, Red-Black Tree)
- Introduction to Graphs
- Types of Graphs (Directed, Undirected, Weighted, Unweighted)
- Graph Representations (Adjacency Matrix, Adjacency List)
- Depth-First Search (DFS)
- Breadth-First Search (BFS)
- Shortest Path Algorithms (Dijkstra, Bellman-Ford)
- Minimum Spanning Tree (Prim’s and Kruskal’s Algorithms)
- Topological Sorting
- Cycle Detection in Directed and Undirected Graphs
- Strongly Connected Components (Kosaraju’s Algorithm)