This course explores implementations of linked list and array-based data structures, delving into the inner workings of basic data structures including lists, stacks, queues, trees, and graphs.
Module 1
Introduction to Data Structures and Basic Algorithms
1. Overview of Data Structures: Data type Vs. Data structure, ADT,
Definition of Data structure, Data structure Classification Linear,
Non- Linear (Array, Linked List, Stack, Queue, Tree, Graph)
2. Introduction to Arrays: Definition, Types (1 Dimensional, 2
Dimensional, Multi-Dimensional, Sparse matrix), Different Array
Operations with Algorithm (insertion, deletion, traversal)
3. Structures and Self-referential structures
4. Introduction to Linked list: Definition, Types (Single linked list,
Doublelinked list, Circular linked list- concept only).
5. Singly Linked List Operations with Algorithm (insertion, deletion,
traversal)
Module 2
Stack and Queue
1. Introduction to Stack: Definition, stack operations with Algorithm,
Applications: recursion, infix to postfix - example and Algorithm
2. Implementation of Stack: using array (overflow & underflow) and
Linkedlist (with algorithm)
3. Introduction to Queue: Definition, queue operations with Algorithm,
Types: Double ended queue (Input Restricted and Output
restricted), Circular queue, Applications
4. Implementation of Queue: using array and Linked list (with
algorithm)
Module 3
Non- Linear Data Structures
1. Introduction to Trees: Basic terminology, Types (Binary tree-
complete,full, skewed etc., Expression Tree)
2. Properties of Binary tree, Applications.
3. Binary tree representations- using array and linked list
4. Operations on Binary tree- Insertion, Deletion, Traversal- inorder,
preorder, postorder - (concepts with examples)
5. Algorithm of non-recursive Binary tree traversal
6. Introduction to Graph: Definition, Basic terminology, Types (Directed,
Undirected, Weighted).
7. Graph representation Adjacency list and Adjacency Matrix,
Applications.
Module 4
Sorting and Searching
1. Introduction to Sorting: Definition, Classification (Internal, External)
2. Internal Sorting Algorithms: Selection sort- Selection sort algorithm,
Exchange sort- Bubble sort algorithm
3. External Sorting Algorithms: Merge sort- Demonstrate with
example.(NoAlgorithm needed)
4. Advanced sorting Algorithm-: Quick sort- Demonstrate with example.
(NoAlgorithm needed)
5. Introduction to Searching: Linear search and Binary search(
Algorithm needed) with example.
6. Hashing: Hash Tables, Hash Functions, Different Hash Functions
Division method, Multiplication method, Mid square method, Folding
Method, Collision and Collision resolution Techniques: Open
hashing- Chaining, Closed hashing- Probing
Module 5
Hands-on Programming in Data Structures: Practical
Applications, Case Study and Course Project
1 Implement the following:
1. Basic Operations in a single linked list (Menu driven)
2. Sort the elements in given singly linked list
3. Stack using array.
4. Stack using Linked list
5. Queue using Array
6. Queue using Linked list
7. Sorting algorithms- Selection, Bubble Sort
8. Searching Algorithms- Linear and Binary search
2 Project/ Case study