Data Structure
Data Structure
Course Handout
The main objective of this course is to equip learners with a solid foundation in data structures and algorithmic
problem solving. It aims to develop a deep understanding of how data can be organized, manipulated, and utilized
efficiently to solve computational problems. By the end of the course, students will be able to apply theoretical
concepts to practical scenarios through the effective use of data structures, and algorithmic techniques. The main
objectives of the course are:
• To provide the knowledge of basic data structures and their implementations.
• To analyze the asymptotic performance of algorithms.
• To understand the concepts of searching and sorting techniques.
• To understand basic concepts of stacks, queues, list, trees and graphs.
• To understand about writing algorithms and step by step approach in solving problems with the help of
fundamental data structures.
CLO01 Understand the basic concept of Abstract PO1, PO2 PO3, Q1, Q2 04
Data Types, Linear and Non-Linear Data PO4
structures.
CLO02 Identify the asymptotic notations to find the PO1, PO2, PO3, Q3, Q6 08
complexity of an algorithm. PO4, PO11
CLO04 Compare various searching and sorting PO1, PO2, PO3, Q1, Q2 10
techniques. PO4, PO11
CLO-PO-PSO Mapping grid |Program Outcomes (POs) and Program Specific Outcomes (PSO) are
available as a part of Academic Program Guide
CLO PO1 PO 2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3 Type of
Assessment
CO01 H L M L L M M Formative
/Summative
CO02 H M M M L L M M Formative
/Summative
CO03 H L L L L M H Formative
/Summative
CO04 H M H M M M H H Formative
/Summative
CO05 H H H M M M M H H Formative
/Summative
*H=High, M=Medium, L=Low
3. Recommended Books:
B01: Classic Data Structures, Samanta and Debasis, 2nd edition, PHI publishers.
B02: Fundamentals of Data Structures, Illustrated Edition by Ellis Horowitz, Sartaj Sahni, Computer Science
Press.
B03: Data Structures by Schaums Outlines Series by Seymour Lipschutz, McGraw Hill Education.
B04: Algorithms, Data Structures, and Problem Solving with C++, Illustrated Edition by Mark Allen Weiss,
Addison-Wesley Publishing Company.
B05: How to solve it by Computer, 2nd Impression by R. G. Dromey, Pearson Education.
Dev-C++, Visual Studio Code, NetBeans, Coding Blocks, Coding Ninjas, Virtual Labs (vlab.co.in), GFG
a. Theory Plan
4-5 Algorithm: Complexity, Time-Space Tradeoff, Asymptotic Notations for Complexity (Ω, θ, O).
8-10 Array Operations and Complexity: Inserting and Deleting (at the beginning, middle, and at the
end), Searching, Traverse, and Update.
11-12 Multidimensional Arrays, Representation of Arrays: Row Major Order, and Column Major
Order.
13-14 Application of arrays, Sparse Matrices, and their representations, Implementation of insert,
delete, and update operations on arrays using C++, Strings and various Operations
15-16 Searching & Sorting: Linear Search and its complexity analysis, Binary Search and its
complexity analysis.
17-19 Quick Sort and its complexity analysis, Merge Sort and its complexity analysis, Implementation
of various searching and sorting techniques using C++.
22-23 Traversing a Linked List, Insertion into Linked List (sorted and unsorted Linked List), Deleting
from Linked List.
24-25 Operations on Doubly Linked List, Circular linked List & its applications,
26-27 Implementation of insert, delete and traverse operations on Linked List using C++.
28-29 Stacks: Array representation of Stacks, Implementation of Stack using linked list, Operations on
Stack, Applications: Arithmetic Expressions.
30-33 Polish Notation, Transforming Infix Expressions into Postfix Expressions, and Implementation of
various operations on Stacks using C++.
34-37 Queues: Representation of Queues as Array and Linked List, Dequeues, Circular Queues, Priority
Queues, Implementation of Queues using C++.
38-40 Trees: Binary Trees terminologies, Representation of Binary Trees: Linear and Linked List,
Operations: Insertion, deletion, and searching of Binary Trees.
41-43 Tree Traversal: Preorder, In order, Post order and their algorithms.
44-48 Complete binary trees, Binary Search Trees, AVL trees, Insertion and Deletion in AVL tree.
49-51 Heaps: Insertion and Deletion in heap, Heap Sort implementation, and its applications,
Implementation of various operations on Trees using C++.
52-54 Graphs: Basic terminology, Directed and undirected graphs, Graph implementation, Operations on
Graph
55-57 Graph traversals: DFS, BFS, Implementation of various operations on Graphs using C++.
58-60 Hashing: Hashing Techniques, Collision and its resolving techniques, Implementation of hashing
using C++.
b. Lab Plan:
4 Write a program to accept N numbers from the user and store them in an array. Then, accept
another number from the user and search that using Binary Search.
5-6 Write a program to accept N numbers in an array and then sort the array using Quick Sort.
9-10 Write a menu driven program that implements the following operations on a Linked list.
• Traverse, Insert and Delete
11-12 Write a menu driven program that implements the following operations on a Doubly Linked list
and Circular linked list.
• Insert a new element at the beginning, end and in between the given list
• Delete an existing element
• Search an element
• Display all the elements
13-14 Write a menu driven program that implements the following operations on a Stack (either
implement as Linear array or as Linked list)
• Push
• Pop
• Display Top of the Stack
15-17 Write a program to demonstrate the use of stack in converting arithmetic expression from infix
notation to postfix notation and in evaluating arithmetic
Postfix expression.
20-21 Write a menu driven program that implements the following operations on a Binary search tree:
• Insert a new element
• Delete an existing element
• Traversing the tree
• Pre-order Traversal
• In-order Traversal
• Post-order Traversal
22-24 Write a menu driven program that implements the following operations on a AVL Tree:
• Insertion in AVL Tree
• LL Rotation
• LR Rotation
• RL Rotation
• RR Rotation
• • Deletion in AVL Tree
25-26 Sort the list of integers using heap tree (Heap sort)
27-28 Program that includes all Operations on Graph and illustrates the traversals using DFS and BFS
29-30 Program to insert and delete element from the array using hashing
7. Delivery/Instructional Resources
4-5 Algorithm: Complexity, CLO02 B02 Lecture, Quiz/ Test https://www https://www
Time-Space Tradeoff, PPT Question .javatpoint.c .youtube.c
Asymptotic Notations for om/data- om/watch?v
Complexity (Ω, θ, O). structure- =DT4zr-
tutorial 8Lp8c&list
=PLVZ00E
haXu3P7ne
8HTPtY7ej
1lpxjO0co
6-7 Arrays: Introduction to CLO01 B02 Lecture, Leading https://www https://www
Arrays, Representation of Demons Question .javatpoint.c .youtube.c
Linear Arrays in Memory. tration om/data- om/watch?v
structure- =zWg7U0
tutorial OEAoE&lis
t=PLBF37
63AF2E1C5
72F
8-10 Array Operations and CLO03 B03 Lecture, Quiz, Peer https://nptel.
Complexity: Inserting and Discussi Reviews ac.in/course
Deleting (at the beginning, on s/106/102/1
middle, and at the end), 06102064/
Searching, Traverse, and
Update.
11-12 Multidimensional Arrays, CLO03 B04 Lecture Test https://nptel.
Representation of Arrays: questions/ ac.in/course
Row Major Order, and Quiz s/106/102/1
Column Major Order. 06102064/
13-14 Application of arrays, Sparse CLO04 B03 Lecture, Brainstormi https://nptel.
Matrices, and their Code ng Session ac.in/course
representations, Demons s/106/102/1
Implementation of insert, tration 06102064/
delete, and update operations
on arrays using C++.
Strings and Various
Operations
15-16 Searching & Sorting: Linear CLO04 B02 Lecture, Test https://cse.ii https://www
Search and its complexity PPT Questions tkgp.ac.in/~ .youtube.c
analysis, Binary Search and pb/algo1- om/watch?v
its complexity analysis. pb- =gtWw_8
101031.pdf
VvHjk&list
=PLBF376
3AF2E1C57
2F&index
=10
17-19 Quick Sort and its CLO03 B01 Lecture, Brainstormi https://cse.ii
complexity analysis, Merge PPT ng Session tkgp.ac.in/~
Sort and its complexity pb/algo1-
analysis, Implementation of pb-
various searching and 101031.pdf
sorting techniques using
C++.
20-21 Linked List: Introduction to CLO01 B04 Lecture, Think/p https://nptel. https://ww
Single Linked List, Memory Discussi air/share ac.in/course w.youtube
representation. on s/106/102/1 .c
06102064/ om/watch
?v=njTh_
OwMljA
22-23 Traversing a Linked List, CLO03 B05 Lecture, Think/p https://nptel.
Insertion into Linked List Demons air/share ac.in/course
(sorted and unsorted Linked tration s/106/102/1
List), Deleting from Linked 06102064/
List.
24-25 Operations on Doubly CLO03 B03 Lecture, Quiz/ Test https://nptel. https://ww
Linked List, Circular linked PPT Question ac.in/course w.youtube
List & its applications, s/106/102/1 .c
06102064/ om/watch
?v=K7VI
Kl Udo20
26-27 Implementation of insert, CLO03 Lecture, Leading https://nptel.
delete and traverse Discussi Question ac.in/course
operations on Linked List on s/106/102/1
using C++. 06102064/
28-29 Stacks: Array representation CLO04 B02 Lecture, Quiz, Peer https://cse.ii https://www
of Stacks, Implementation of Question Reviews tkgp.ac.in/~ .youtube.c
Stack using linked list, ing pb/algo1- om/watch?v
Operations on Stack, pb- =g1USSZ
Applications: Arithmetic 101031.pdf VWDsY&li
Expressions. st=PLBF3
763AF2E1C
572F&ind
ex=2
30-33 Polish Notation, CLO01 B03 Lecture, Quiz/ Test https://cse.ii
Transforming Infix Question Question tkgp.ac.in/~
Expressions into Postfix ing pb/algo1-
Expressions, and pb-
Implementation of various 101031.pdf
operations on Stacks using
C++.
34-37 Queues: Representation of CLO02, B04 Lecture, Leading https://nptel. https://www
Queues as Array and Linked CLO03 Demons Question ac.in/course .youtube.c
List, Dequeues, Circular tration s/106/102/1 om/watch?v
Queues, Priority Queues, 06102064/ =PGWZU
Implementation of Queues gzDMYI&li
using C++. st=PLBF3
763AF2E1C
572F&ind
ex=3
38-40 Trees: Binary Trees CLO01 B04 Lecture Think/p https://www https://www
terminologies, air/share .programiz.c .youtube.c
Representation of Binary om/dsa om/watch?v
Trees: Linear and Linked =tORLeH
List, Operations: Insertion, HtazM&list
deletion, and searching of =PLBF376
Binary Trees, 3AF2E1C57
2F&index=
6
41-43 Tree Traversal: Preorder, In CLO03, B02 Lecture, Quiz/ Test https://www
order, Post order and their CLO04 Discussi Question .programiz.c
algorithms. on om/dsa
44-48 Complete binary trees, CLO05 B03 Lecture, Brainstormi https://www https://www
Binary Search Trees, AVL Demons ng Sessions .programiz.c .youtube.c
trees, Insertion and Deletion tration om/dsa om/watch?v
in AVL tree. =mRGQyl
RWAsI&list
=PLBF37
63AF2E1C5
72F&inde
x=11
49-51 Heaps: Insertion and CLO01 B04 Lecture, Quiz, Peer https://www
Deletion in heap, Heap Sort Question Reviews .programiz.c
implementation, and its ing om/dsa
applications,
Implementation of various
operations on Trees using
C++.
52-54 Graphs: Basic terminology, CLO01 B05 Lecture Think/p https://nptel. https://www
Directed and undirected air/share ac.in/course .youtube.c
graphs, Graph s/106/102/1 om/watch?v
implementation, Operations 06102064/ =9zpSs845
on Graph, wf8&list=P
LBF3763A
F2E1C572F
&index=24
55-57 Graph traversals: DFS, BFS, CLO03 B05 Lecture, Quiz/ Test https://nptel.
Implementation of various Code Question ac.in/course
operations on Graphs using Demons s/106/102/1
C++. tration 06102064/
8. Remedial Classes
After every Sessional Test, different types of learners will be identified, and special discussions will be planned
and scheduled accordingly for the slow learners.
9. Self-Learning
Content beyond the syllabus covered (if any) should be delivered to all students that would be planned, and
schedule notified accordingly.
1 Real time applications of CLO01, CLO03, PO1, PO2, PO3, Think/pair/s https://www.geeksforg
data structures CLO04, PO5, PO11 hare eeks.org/real-time-
CLO05 application-of-data-
structures/
** All STs are mandatory. The average of both STs will be taken for internal assessment.
*** To appear for the End Term Exam, attendance must be at least 75%.
Education at Chitkara University builds on the principle that excellence requires freedom where Honesty and
integrity are its prerequisites. Academic honesty in the advancement of knowledge requires that all students and
Faculty respect the integrity of one another's work and recognize the importance of acknowledging and
safeguarding intellectual property. Any breach of the same will be tantamount to severe academic penalties.