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
|