Data Structures

Data structures are the building blocks of efficient algorithms and effective software design


SYLLABUS

UNIT-I

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.

UNIT-II

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]

UNIT-III

SEARCHING AND SORTING Searching: Linear Search, Binary Search. Sorting: Bubble Sort, Selection Sort, Insertion Sort, Quick Sort, Merge Sort

UNIT-IV

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]

UNIT-V

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.