DATA STRUCTURES AND ALGORITHMS USING C
UNIT – I : INTRODUCTION TO ALGORITHMS & ANALYSIS
1. Introduction to Data Structures and Algorithms
2. Abstract Data Types (ADT)
3. Algorithm Analysis
○ Time Complexity
○ Space Complexity
○ Best, Average and Worst Case Analysis
4. Asymptotic Notations
○ Big-O Notation
○ Big-Ω (Omega) Notation
○ Big-Θ (Theta) Notation
○ Little-o Notation
○ Little-ω Notation
UNIT – II : ARRAYS, SEARCHING AND SORTING
1. Introduction to Arrays
2. Memory Representation of Arrays
3. Operations on Arrays
4. Types of Arrays
○ One-Dimensional Arrays
○ Two-Dimensional Arrays
○ Multidimensional Arrays
Searching Techniques
5. Introduction to Searching
6. Linear Search
7. Binary Search
Sorting Techniques
8. Bubble Sort
9. Selection Sort
10.Insertion Sort
11.Merge Sort
12.Quick Sort
13.Heap Sort
14.Bucket Sort
15.Radix Sort
16.Counting Sort
17.Red-Black Sort
UNIT – III : LINKED LISTS
1. Introduction to Linked Lists
2. Types of Linked Lists
○ Singly Linked List
○ Doubly Linked List
○ Circular Linked List
3. Operations on Linked Lists
4. Comparison of Arrays and Linked Lists
UNIT – IV : STACKS AND QUEUES
Stacks
1. Stack Definition and Operations
2. Implementation of Stack
○ Using Arrays
○ Using Linked Lists
3. Applications of Stack
○ Infix, Prefix and Postfix Conversion
○ Parenthesis Checking
Queues
4. Queue Definition and Operations
5. Types of Queues
○ Simple Queue
○ Circular Queue
○ Deque
○ Priority Queue
6. Implementation of Queue
○ Using Arrays
○ Using Linked Lists
7. Applications of Queue
UNIT – V : TREES
1. Introduction to Trees (Terminology)
2. Types of Trees
3. Binary Trees
○ Types of Binary Trees (Full, Complete, Skewed)
4. Binary Tree Representation
5. Traversal Techniques
○ Inorder Traversal
○ Preorder Traversal
○ Postorder Traversal
6. Binary Search Trees (BST)
○ Operations on BST (Insertion, Deletion, Searching)
7. Applications of Trees
UNIT – VI : GRAPHS
1. Introduction to Graphs (Terminology)
2. Types of Graphs
○ Directed and Undirected Graphs
○ Weighted Graphs
3. Representation of Graphs
○ Adjacency Matrix
○ Adjacency List
4. Graph Traversal Algorithms
○ Breadth First Search (BFS)
○ Depth First Search (DFS)
5. Applications of Graphs
6. Topological Sorting
UNIT – VII : HEAPS AND HASHING
Heaps
1. Introduction to Heaps
2. Types of Heaps
○ Min Heap
○ Max Heap
3. Representation of Heap (Array Representation)
4. Heap Order Property
5. Heap Operations
○ Insertion
○ Deletion
○ Heapify Up
○ Heapify Down
6. Heap Algorithm
7. Heap Sort
8. Applications of Heap
○ Finding Largest and Smallest Elements
○ Comparison with BST
○ Prim’s Algorithm
○ Dijkstra’s Algorithm
Hashing
9. Introduction to Hashing
10.Hash Table and Its Operations
○ Insertion
○ Deletion
○ Searching
11.Hash Functions
○ Division Method
○ Multiplication Method
○ Mid-Square Method
○ Folding Method
○ Universal Hashing
12.Collision Handling Techniques
○ Separate Chaining
○ Open Addressing
■ Linear Probing
■ Quadratic Probing
■ Double Hashing
13.Rehashing
14.Load Factor and Clustering
15.Applications of Hashing (LRU Cache)
16.Comparison of Hashing with Other Data Structures