-
₹1000
-
Duration: 40 Hours
-
Delivery mode: Online
-
Group size: 2
-
Instruction language:
English
-
Certificate provided:
No
I taught this course many times in various colleges and the topics that I will cover in this course are as follows:
1. Introduction to Data Structures
Definition and Importance of Data Structures
Abstract Data Types (ADTs)
Classification of Data Structures: Linear vs Non-Linear, Static vs Dynamic
Complexity Analysis: Time and Space Complexity
Overview of Recursion and Its Role in Data Structures
2. Linear Data Structures
a. Arrays
Basics and Operations: Traversal, Insertion, Deletion, Searching
Multi-Dimensional Arrays: Matrices
Applications: Prefix Sum, Sparse Matrices
b. Linked Lists
Singly Linked List
Doubly Linked List
Circular Linked List
Operations: Insertion, Deletion, Traversal, Reversal
Applications: Polynomial Arithmetic, Memory Management
c. Stacks
Implementation: Array-Based and Linked-List-Based
Operations: Push, Pop, Peek
Applications: Expression Evaluation (Postfix, Prefix), Balancing Parentheses, Undo Functionality
d. Queues
Types: Simple Queue, Circular Queue, Double-Ended Queue (Deque), Priority Queue
Operations: Enqueue, Dequeue
Applications: Scheduling, BFS (Breadth-First Search)
3. Non-Linear Data Structures
a. Trees
Basics: Terminology (Root, Leaf, Depth, Height, etc.)
Binary Trees: Representation and Traversals (Inorder, Preorder, Postorder)
Binary Search Tree (BST): Operations and Applications
Balanced Trees: AVL Trees, Red-Black Trees
Heap: Min-Heap, Max-Heap, Heap Sort
Advanced Trees: B-Trees, B+ Trees, Trie, Suffix Tree
b. Graphs
Representations: Adjacency Matrix, Adjacency List
Traversals: Depth-First Search (DFS), Breadth-First Search (BFS)
Directed and Undirected Graphs
Weighted and Unweighted Graphs
Applications: Shortest Path (Dijkstra, Floyd-Warshall), MST (Prim’s and Kruskal’s), Topological Sorting
4. Hashing
Hash Tables and Hash Functions
Collision Resolution Techniques: Chaining, Open Addressing
Applications: Caching, Indexing, Dictionary Implementations
5. Searching and Sorting Algorithms
Linear Search, Binary Search
Sorting Techniques:
Bubble Sort, Selection Sort, Insertion Sort
Merge Sort, Quick Sort, Heap Sort, Counting Sort
Comparison of Sorting Algorithms
Applications of Sorting and Searching
6. Strings and Pattern Matching
Strings as Arrays of Characters
Pattern Matching Algorithms: Naive, Rabin-Karp, Knuth-Morris-Pratt (KMP)
Applications: Text Search, DNA Sequencing
7. Memory Management
Static and Dynamic Memory Allocation
Garbage Collection Concepts
Pointers and Their Role in Dynamic Data Structures