Syllabus
Unit I
Introduction to the data structure, types of data structures, abstract data type. Array: Definition, memory representation; Applications: Searching: Linear search and Binary search; Soring: Bubble sort, Insertion sort, Selection sort, Shell sort; List: Introduction, representation; Types: Singly linked list, circular linked list, doubly linked list and their applications.
Unit II
Stacks: Introduction, Stack as an ADT, static and dynamic representation, implementation of the stack; Application of stack: polish notation representation and conversion; Recursion: Implementation of recursion, tower of Hanoi, merge sort and quick sort.
Unit III
Queues: Definition, Queue as an ADT, static and dynamic representation; Types of queues: Circular queue, double-ended queue, priority queue, applications of the queue. Hashing: Representation, search and collision handling techniques.
Unit IV
Graphs: Definition, basic terminologies, types of graphs, representation; Traversal: BFS and DFS. Trees: Definition, basic terminology, binary tree and its traversal, binary search tree, expression tree, AVL tree, B tree, Red-Black tree, heap tree and its applications.
Objectives and Outcomes
Course Description
This course is a foundation course for data structure. This course introduces linear and nonlinear data structures such as arrays, stacks, queues, linked lists, graphs, and trees and their applications.
Course Objectives
- To provide knowledge of basic data structures and their implementation
- To get familiarized with linear data structures and their applications
- To understand the concepts of nonlinear data structures and their applications
- To understand the importance of data structures for writing efficient programs and to apply appropriate data structures in problem-solving
Course Outcomes
| COs |
Description |
| CO1 |
Analyze and justify the selection of appropriate data structures and Abstract Data Types (ADT) for solving structured computational problems. |
| CO2 |
Develop and apply searching, sorting, and list‑based data structures to organize and process data effectively in software applications. |
| CO3 |
Design and implement stack‑ and queue‑based solutions, including recursion‑oriented problems, using static and dynamic representations. |
| CO4 |
Construct and utilize hashing techniques and graph traversal methods to solve problems involving data access, relationships, and connectivity. |
| CO5 |
Design and evaluate tree‑based data structures such as binary trees, binary search trees, AVL trees, B‑trees, Red‑Black trees, and heaps for hierarchical data organization and application development. |
CO-PO Mapping
| PO/PSO |
PO1 |
PO2 |
PO3 |
PO4 |
PO5 |
PO6 |
PO7 |
PO8 |
| CO |
| CO1 |
3 |
3 |
1 |
– |
– |
– |
– |
1 |
| CO2 |
3 |
3 |
2 |
– |
– |
– |
– |
2 |
| CO3 |
3 |
3 |
2 |
– |
– |
– |
– |
2 |
| CO4 |
3 |
3 |
2 |
– |
– |
– |
– |
2 |
| CO5 |
3 |
3 |
2 |
– |
– |
– |
– |
2 |