1. Introduction to Data Structure
Objectives, Introduction, What is Data Structure?, Classification of Data Structure, Description of Various Data Structures, Arrays, Stacks, Queues, Linked Lists, Trees, Graphs, Algorithms, Characteristics of an Algorithm, Structure of an Algorithm, Performance Analysis and Measurement of an Algorithm, Space Complexity, Time Complexity, Difficulty in Measuring Exact Execution Time of Algorithm, Asymptotic Notations, Big “OH” Notation, Solved Examples, Review Questions.
2. Arrays
Objectives, Introduction, What is Array?, One Dimensional Array, Features of Arrays, Calculation of Address for One-Dimension Array, Passing Array to Function, Operations on Arrays, Traversing of Array, Insertion in One-Dimensional Array, Deleting an Element from One-Dimensional Array, Multi Dimensional Array (Two-Dimensional Array), Reading and Writing of Two-Dimensional Array, Representation of Two-Dimensional Arrays in Memory, Row Major, Column Major, Algebra of Matrices, Addition of Matrices, Subtraction of Matrices, Multiplication of two Matrices, Transpose of a Matrix, Special Matrices, Diagonal Matrix, Symmetric Matrix, Sparse Matrix, String, Declaring and Initializing String Variables, Reading String from Keyboard, Writing String to Screen, String Functions, strlen () Function, strcpy () Function, strcat () Function, strcmp () Function, Representation of String, Fixed Length Storage, Linked List Storage, Substring, Pattern Matching (Indexing), Pointers, Structures (Record), Typedef, Associative Array, Application of Functional Programming, Polynomials, Array Representation of Polynomials, Addition of Polynomials, Sparse Matrices, Transpose of a Matrix, Transposition of Sparse Matrices with Algorithm of Varying Complexity, Solved Examples, Review Questions, Some Challenging Practical Questions.
3. Recursion
Objectives, Introduction, Types of Recursion, What Happens with Recursion, Factorial of a Number using Recursion, Fibonacci Series, Exponential Power, Greatest Common Divisor, Tower of Hanoi, Solved Examples, Review Questions, Some Challenging Practical Question.
4. Linked List
Objectives, Introduction, Difference between Array & Linked List, Linked List, Representation of a Linked List, Storing Data using Linked List, Static and Dynamic Memory Allocations, Static Memory Allocation, Dynamic Memory Allocation, Dynamic Memory Allocation Function, Advantages of Linked List Over Array, Disadvantages of Linked List Over Array, Types of Linked List, Singly Linked List, Doubly Linked List, Circular Linked List, Two Way Circular Linked List, Linked List Operations, Singly Linked List, Creation of a Linked List, Traversing or Display a Linked List, Counting the Nodes in a Linked Lists, Inserting a Node at Beginning in a Singly Linked List, Inserting a Node After Specified Position in a Linked List, Deleting a Specified Node From a Linked List, Sorted Singly Linked List, A Few More Operations, Searching a Node Element in a Singly Linked List, To Reverse a Linked List, Circular Linked List, Creation of Circular Linked List, Insertion of a Node at Beginning, Insertion of a Node After Specified Position, Deletion of a Node From Circular Linked List, Doubly Linked List, Creating a Doubly Linked List, Inserting a Node at the Beginning, Inserting a Node After Specified Position, Deleting a Specified Node, Traversing a Doubly Linked List, Polynomials Representation, Addition of two Polynomial Expressions using Linked List, Header Linked List, Representation of Sparse Matrix Through Linked List, Unrolled Linked List, List Splicing, Skip-List, Solved Examples, Review Questions.
5. Stacks and Queues
Objectives, Introduction, Stacks, Stack Implementation, Static Implementation, Dynamic Implementation, Representation of Stack in Memory, Terminology of Stack, Stack Operations, Push Operation, Pop Operation, Some Other Operations of Stacks, Peep Operation, Update Operation, Implementation of Stack using Linked Lists, Stack Applications, Nesting of Parentheses, Expression Evaluation, Conversion from Infix to Postfix Notation, Reversal of String, Parenthesis Checking, Queues, Queue Implementation, Representation of Queue, Combined Operation, Implementation of Queue using Linked Lists, Double Ended Queues (Deque), Priority Queue, Circular Queue, Insertion in a Circular Queue, Deletion from a Circular Queue, Similarities between Stacks and Queues, Applications of Queues, Solved Examples, Review Questions.
6. Tree
Objectives, Introduction, Tree Definition, Tree Terminology, Binary Tree, Strictly Binary Tree, Complete Binary Tree, Almost Complete Binary Tree, Full Binary Tree, Extended Binary Tree or 2-Tree, Skewed Tree, Similar Tree and Equivalent Tree, Representation of Binary Trees, Sequential Representation, Linked List Representation of Binary Tree, Operations on Binary Trees, Traversal of a Binary Trees, Preorder Traversal, Inorder Traversal, Postorder Traversal, Application of Traversing, Binary Search Tree (BST), Searching a Value in Binary Search Tree, Insertion of a Node in Binary Search Tree, Deletion of a Node in Binary Search Tree, Header Nodes, Threaded Binary Tree, One Way Threading of Tree, Two Way Threading of Tree, Two Way Threaded Binary Tree with Header Node, Height Balanced Tree, AVL Tree, Rotation of Tree, General Trees, General Trees Represented As Equivalent Binary Tree, Multiway Trees, B-Tree, Insertion in B-Tree, Deletion in B-Tree, Huffman Tree: Path Lengths, Tries, B+–Tree, Forest, Pruning, Application of Trees for Representation of Sets, Some Additional Programs, Solved Examples, Review Questions.
7. Graphs
Objectives, Introduction, Graph Terminology, Graph Representation, Sequential Representations, Linked Representation, Traversing a Graph, Breadth First Search, Depth First Search, Path Matrix or Reachability Matrix, Shortest Path Problem, Spanning Tree, Kruskal’s Algorithm, Prim’s Algorithm, Operations on Graph, Insertion in Adjacency Matrix, Deletion in Adjacency Matrix, Insertion in Adjacency List, Deletion in Adjacency List, Solved Examples, Review Questions.
8. Searching and Sorting
Objectives, Introduction, Searching Techniques, Linear Search, Binary Search, Hashing, Methods of Hashing, Hash Collision and its Resolution, Concept of Sorting, External Sorting, Internal Sorting, Types of Sorting, Selection Sort, Bubble Sort, Insertion Sort, Quick Sort, Heap Sort, Merge Sort, Radix Sort, Bucket Sort, Topological Sorting, Comparison of Sorting Algorithms in Terms of Time Complexity, Simple String Searching, Symbol Table, Solved Examples, Review Questions.
P. Papers