Data structures are the building blocks of efficient algorithms and effective software design
ARRAYS AND LINKED LISTS The Abstract Data Type (ADT), Dynamic allocation of Arrays, Representation of multidimensional Arrays. Single Linked List, Polynomials, Polynomial Representation- Adding Polynomials- Circular List Representation of Polynomials, Sparse Matrices, Sparse Matrix Representation, Doubly Linked Lists.
STACKS AND QUEUES [8 Hours] The Stack, Stacks using Dynamic Arrays, Recursion, Linked Stacks, The Queue, Linked Queues, Circular Queues using Dynamic Arrays, De-queue. Application of stacks and queues, Evaluation of Expressions, Expression- Postfix Notation- Infix to Postfix, Towers Of Hanoi Problem. [8 Hours]
SEARCHING AND SORTING Searching: Linear Search, Binary Search. Sorting: Bubble Sort, Selection Sort, Insertion Sort, Quick Sort, Merge Sort
TREES: [8 Hours] Introduction, Terminology, Representation of Trees, Binary Trees, The Abstract Data Type, Properties of Binary Tress, Binary Tree Representations, Binary Tree Traversals: Inorder Traversal, Preorder Traversal, Postorder Traversal, Binary Search Trees: Definition, Searching a Binary Search Tree, Insertion into a Binary Search Tree, Deletion from a Binary Search Tree . [10 Hours]
GRAPHS: The Graph Abstract Data Type, Introduction, Definition, Graph Representation, Elementary Graph Operation- Depth First Search, Breadth First Search, Connected Components, Spanning Trees, Biconnected Components, Minimum Cost Spanning Trees- Kruskal’s Algorithm, Prim s Algorithm, Shortest Paths and Transitive Closure, Single Source/All Destination, All-Pairs Shortest Path.