| Table of Contents |
| Section I: Preliminaries and Static Data Structure |
| 1.Introduction and Preliminaries |
| 1.1 Data Structure and ADT. |
| 1.2 Pointers. |
| 1.3 Arrays (1-D, 2-D, Multi-D). |
| 1.4 Representation of Arrays in memory. |
| 1.5 Relationship of Arrays with pointers. |
| 1.6 Operation on Arrays. |
| 1.7 Strings and Operations on Strings. |
| 2.Structures and Functions |
| 2.1 Structures and their implementation in C. |
| 2.2 Pointers and Structures. |
| 2.3 Pointers and Functions. |
| 2.4 Sparse Matrices. |
| Section 2: Dynamic Data Structures |
| 3.Linked List |
| 3.1 Linked List. |
| 3.2 Circular Linked List. |
| 3.3 Doubly Linked List. |
| 3.4 Circular Doubly Linked List. |
| 4.Stacks |
| 4.1 Definition of Stack. |
| 4.2 Implementation of Stack through Arrays. |
| 4.3 Implementation of Stack through Linked List. |
| 4.4 Application of Stacks. |
| 4.4.1 Recursion. |
| 4.4.2 Infix to Postfix. |
| 4.4.3 Evaluation of Postfix. |
| 4.4.4 Infix to Prefix. |
| 5.Queues |
| 5.1 Definition of Queues. |
| 5.2 Implementation of Queues through Linked List. |
| 5.3 Application of Queues. |
| Section 3: Searching and Sorting |
| 6.Searching |
| 6.1 Sequential Search |
| 6.2 Binary Search |
| 6.3 Indexing |
| 6.4 Hashing Techniques |
| 7.Sorting |
| 7.1 Insertion Sort |
| 7.2 Selection Sort |
| 7.3 Bubble Sort |
| 7.4 Quick Sort |
| 7.5 Merge Sort |
| 7.6 Radix Sort |
| 7.7 Heap Sort |
| Section 4: Advanced Data Structure |
| Graph |
| 8.1 Definition of Graph. |
| 8.2 Representation of Graph in memory. |
| 8.3 Traversal Algorithms. |
| 8.4 Shortest Path Algorithms. |
| 8.5 Spanning Tree Algorithms. |
| Text Book |