UNIT I
Introduction to Data Structures: Definition and importance of Data structures, Abstract data types (ADTs) and its specifications, Arrays: Introduction, 1-D, 2-D Arrays, accessing elements of array, Row Major and Column Major storage of Arrays, Searching Techniques: Linear & Binary Search, Sorting Techniques: Bubble sort, Selection sort, Quick sort.
Sample Experiments:
1. Program to find min & max element in an array.
2. Program to implement matrix multiplication.
3. Find an element in given list of sorted elements in an array using Binary search.
4. Implement Selection and Quick sort techniques.
UNIT II
Linked Lists: Singly linked lists: representation and operations, doubly linked lists and circular linked lists, Comparing arrays and linked lists, Applications of linked lists.
Sample Experiments:
1. Write a program to implement the following operations. a. Insert b. Deletion c. Traversal
3. Write a program to perform addition of given two polynomial expressions using linked list.
UNIT III
Stacks: Introduction to stacks: properties and operations, implementing stacks using arrays and linked lists, Applications of stacks in expression evaluation, backtracking, reversing list etc.
Sample Experiments:
1. Implement stack operations using a. Arrays b. Linked list
2. Convert given infix expression into post fix expression using stacks.
3. Evaluate given post fix expression using stack.
4. Write a program to reverse given linked list using stack.
UNIT IV
Queues: Introduction to queues: properties and operations, Circular queues, implementing queues using arrays and linked lists, Applications of queues scheduling, etc. Deques: Introduction to deques (double-ended queues), Operations on deques and their applications.
Sample Experiments:
1. Implement Queue operations using a. Arrays b. Linked list
2. Implement Circular Queue using a. Arrays b. Linked list
3. Implement Dequeue using linked list.
UNIT V
Trees: Introduction to Trees, Binary trees and traversals, Binary Search Tree – Insertion, Deletion & Traversal
Sample Experiments:
1. Implement binary tree traversals using linked list.
2. Write program to create binary search tree for given list of integers. Perform in-order traversal of the tree. Implement insertion and deletion operations.