- Basic Terminology
- Classification of Data structures
- Operations on Data structures
- Abstract Data Type
- Algorithms
- Different Approaches to Designing an Algorithm
- Time & Space Complexity
- Big O Notation
- Omega Notation
- Theta Notation
Data Structure Using C
- Introduction to Linked Lists
- Memory Allocation & De-allocation for a Linked List
- Singly Linked Lists Operation
- Doubly Linked Lists Operation
- Circular Linked Lists Operation
- Circular Doubly Linked Lists Operation
- Header &Multi- Linked Listst
- Applications of Linked Lists
- Introduction to Stacks
- Operation on Array Stack
- Operations on a Linked Stack
- Multiple Stacks
- Applications of Stacks
- Introduction to Queues
- Operation on Array Queues
- Operations on a Linked Stack
- Type of Queues
- Application of Queues
- Introduction to Trees
- Types of Trees
- Creating a Binary Tree from a General Tree
- Traversing a Binary Tree
- Huffman's Tree
- Applications of Trees
- Binary Search Trees
- Operations on Binary search Trees
- Threaded Binary Trees
- AVL Trees
- Red-Black Trees
- Splay Trees
- Introduction to M-way search trees
- B Trees
- B + Trees
- Introduction to Heap
- Binary Heaps Operations
- Binomial Heaps Operations
- Fibonacci Heaps Operations
- Applications of Heaps
- Graphs Terminology
- Directed Graphs
- Bi-Connected Components
- Representation of graphs
- Graphs Traversal Algorithms
- Topological Sorting
- Shortest Path Algorithms
- Applications of Graphs
- Introduction to Searching
- Different Search Technique(Linear ,Binary,Interpolation &Jump search)
- Introduction to Sorting
- Different Sorting Technique(Bubble, Selection, Insertion, Merge ,Quick, Heap, Shell Tree, Radix)
- Hash Tables
- Hash Functions
- Collisions
- Applications of Hashing
- Data Hierarchy
- File Attributes
- Text and Binary Files
- Basic File Operations
- File Organization
- Indexing