0% found this document useful (0 votes)
33 views

DSAOOPS

The document provides a course plan for a Data Structures using Object Oriented Programming course. The course will cover fundamental data structures like arrays, linked lists, stacks, queues, trees, and graphs. Students will learn to analyze the time and space complexity of algorithms. Key topics include searching and sorting algorithms, recursion, object-oriented programming concepts, and applying data structures to solve real-world problems. The course runs over one semester with 60 total contact hours. Assessment will be based on 5 course learning outcomes covering various data structures and algorithmic concepts. Recommended resources include textbooks, online courses, research papers, and coding platforms.

Uploaded by

Varinder Dhillon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views

DSAOOPS

The document provides a course plan for a Data Structures using Object Oriented Programming course. The course will cover fundamental data structures like arrays, linked lists, stacks, queues, trees, and graphs. Students will learn to analyze the time and space complexity of algorithms. Key topics include searching and sorting algorithms, recursion, object-oriented programming concepts, and applying data structures to solve real-world problems. The course runs over one semester with 60 total contact hours. Assessment will be based on 5 course learning outcomes covering various data structures and algorithmic concepts. Recommended resources include textbooks, online courses, research papers, and coding platforms.

Uploaded by

Varinder Dhillon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Course Plan

A. Course Handout (Version 1.0) | Last updated on 6th Dec, 2024

Institute/School Name Chitkara University Institute of Engineering and Technology


Department Name Department of Computer Science & Engineering
Programme Name Bachelor of Engineering (B.E.), Computer Science & Engineering
Course Name Data Structures using Object Oriented Programming
Course Code 22CS013 Semester/Batch 4th /2022
L-T-P (Per Week) 3-0-4 Course Credits 05
Course Coordinator Dr. Anuj Kumar Jain

1. Objectives of the Course


Data structures play a central role in modern computer science. Data structures are essential building blocks in
obtaining efficient algorithms. This course covers elementary data structures (dynamic arrays, heaps, balanced
binary search trees, hash tables) and algorithmic approaches to solve classical problems (sorting, graph
searching, dynamic programming). It Introduces the mathematical modeling of computational problems, as
well as common algorithms, algorithmic paradigms, and data structures used to solve these problems.
The main objectives of the course are:
• To use object oriented programming knowledge for solving real world problem statements.
• To evaluate time-space complexity tradeoffs for all categories of algorithms.
• To understand 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.

Understand the basics of data structure, complexity of algorithms, and the implementation of
CLO01 various operations on arrays and linked lists.

CLO02 Illustrate the concepts of stack and queue with their applications and apply recursion to solve
certain problems.
CLO03 Persuade different searching, sorting, and hashing mechanisms with their comparisons.
CLO04 Understand, implement, and analyze graph data structure and apply it to real-world problems.
CLO05 Analyze different tree traversal techniques and understand various kinds of trees.

2. Course Learning Outcomes

After completion of the course, the student should be able to:

Course Outcome POs CL* KC** Sessions

Understand the basics of data structure, PO1, PO2, K2 Factual 11


complexity of algorithms, and the PO3, PO4, Conceptual
CLO01
implementation of various operations on PO9, PO11,
arrays and linked lists. PO12
CLO02 PO1, PO2, K3 Conceptual 13
Illustrate the concepts of stack and queue
PO3, PO4, Procedural
with their applications and apply recursion to
PO9, PO11,
solve certain problems.
PO12
CLO03 Persuade different searching, sorting, and PO1, PO2, K3 Conceptual 17
hashing mechanisms with their comparisons. PO3, PO4, Procedural

Data Structure using Object Oriented Programming /22CS013 Page 1 of 10


Course Plan

PO9, PO11,
PO12

CLO04 Understand, implement, and analyze graph PO1, PO2, K4 Conceptual 11


data structure and apply it to real-world PO3, PO4, Metacognitive
problems. PO9, PO11,
PO12
CLO05 Analyze different tree traversal techniques PO1, PO2, K3 Conceptual 8
and understand various kinds of trees. PO3, PO4,
PO9, PO11,
PO12
Total Contact Hours 60
Revised Bloom’s Taxonomy Terminology
*
Cognitive Level =CL
**
Knowledge Categories = KC

LO-PO Mapping grid |Program outcomes (POs) are available as a part of the Academic Program Guide

Course
Learning PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
Outcome
s
CLO1 H H H M L L H

CLO2 H H H M L L H

CLO3 H H H H M M H

CLO4 H H H H H M H

CLO5 H H H H H M H
H=High, M=Medium, L=Low

3. ERISE Grid Mapping

Feature Enablement Level(1-5, 5 being highest)

Entrepreneurship 2

Research 5

Innovation 4

Skills 5

Employability 3

4. Recommended Books:
Text Books
B01: Data Structures Through C++, Yashavant Kanetkar, BPB Publications, 3rd Edition, 2019.
B02: Data Structure, Algorithms and Applications Using C++, S. Sahni, Sillicon Press, 2nd edition, 2005

Reference Books
B03: Introduction to Algorithms by Thomas H. Cormen, The MIT Pressm 3rd Edition, 2001

Data Structure using Object Oriented Programming /22CS013 Page 2 of 10


Course Plan

B04: Data Structures Using C and C++ by Langsam, Yedidyah, Tenenbaum, Aaron M., Pearson, 2nd
edition, 2006
B05: Objects, Abstraction, Data Structures and Design Using C++, Elliot B. Koffman, Paul A. T. Wolfgang,
Wiley Publications, First Edition 2006

E-Resources:
https://ndl.iitkgp.ac.in/
https://www.vlab.co.in/

5. Other readings and relevant websites:

Serial Link of Journals, Magazines, websites and Research Papers


No
1. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-096-
introduction-to-c-january-iap-2011/lecture-notes/
2. https://www.cs.bham.ac.uk/~jxb/DSA/dsa.pdf
3. https://nptel.ac.in/courses/106/102/106102064/
4. https://cse.iitkgp.ac.in/~pb/algo1-pb-101031.pdf
5. https://ocw.mit.edu/courses/civil-and-environmental-engineering/1-204-computer-
algorithms-in-systems-engineering-spring-2010/lecture-notes/MIT1_204S10_lec05.pdf
6. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.868.7428&rep=rep1&type=pdf

6. Recommended Tools and Platforms


Coding Blocks, Dev-C++

7. Course Plan:

Lecture
Topics Books
Numbers
1-4 Data Structures and Algorithms: Basic Terminology, Elementary Data B01-Chpater-1
Organization, Data Structures and Operations
5-9 Algorithm : Complexity, Time and Space & Complexity, Asymptotic Notations for B02-Chpater-3
Complexity( Ω, ω ,θ, O, o)
10-14 Array: Introduction, Representation of Linear Arrays in Memory, Traversing B01-Chpater-2
Linear Arrays, Insertion and Deletion in arrays.
15-18 Searching: Linear and Binary Search with their Complexity. B01-Chpater-9
19-23 Character Arrays, Strings, Declaration and Initialization of character array, B06-Chpater-7
Memory Representation, Basic Operations. Sorting a Char Array.
24-27 Sorting techniques: Selection Sort, Insertion Sort, Quick Sort, Merge Sort. B06-Chpater-10

28-35 Bitmasking, Bitwise operations in Bitmasking, STL (Standard Template Library), B06-Chpater-11
Components of the STL.
36-40 Recursion & Backtracking: Introduction Recursion and Recursive Function B02-Chpater-1

41-45 Deep Diving into recursion, Implementation of Recursion on Subsets, B02-Chpater-1


Backtracking Algorithms.
ST-1(Lectures 1-45)

Data Structure using Object Oriented Programming /22CS013 Page 3 of 10


Course Plan

46-50 Preliminaries of Object-oriented programming using C++: B02-Chpater-1


keywords, identifiers, data types.
51-55 Decision control and looping statements, Functions. B02-Chpater-1
56-59 Basics of objects and classes, Dynamic Memory Management & pointers, B02-Chpater-1

60-63 Program structure of C++. Conversion of Algorithm into Program. B02-Chpater-1

64-67 Linked List: Introduction & its memory representation, traversing a Linked B01-Chpater-3
List, Insertion into Linked List (sorted and unsorted Linked List), Deleting
from Linked List
68-70 Operations on Doubly Linked List, Circular linked List & its applications B01-Chpater-3

71-73 Stacks: Array representation of Stacks, implementation of stack B01-Chpater-5


using linked list.
74-81 Applications: Arithmetic Expressions, Polish B01-Chpater-3
Notation, Transforming Infix Expressions into Postfix Expressions,
Implementations of recursive and non-recursive procedures by Stacks
82-86 Queues: Representation as Array and Linked List. B01-Chpater-6

87-90 Deques, Circular Queues, Priority Queues. B01-Chpater-6

ST-2 (Lectures 46-90)


91-98 Trees: Binary trees, complete binary trees, Binary Search Trees, Data B01-Chpater-7
structures for representing binary trees, Insertion, Deletion and Searching of
Binary Search
99-107 Tree and their Implementation, Tree Traversal: preorder, In order, Post order B01-Chpater-7
and their algorithms, Their Implementation. B Trees.
108-117 Heaps, Difference between heap and Array, insertion and deletion in heap, B03-Chpater-6
Heap sort implementation and its applications.
118-120 Graphs: Basic terminology, directed and undirected graphs, notion of path. B01-Chpater-8

121-125 Representation of graphs: edge list structures, adjacency B01-Chpater-8


list structures, adjacency matrix, Linked List representation of Graph.
126-128 Operations on Graph, Graph traversals: DFS, BFS and their implementation. B01-Chpater-8

129-131 Hashmap, Hashing Techniques, Collision and its resolving. Trie Data Structure, B02-Chpater-10
Basic Operations on Trie.
ST-3 (Lectures 91-131)

132-136 Introduction to Dynamic Programming, Standard problems on Dynamic B03-Chpater-15


Programming, One Dimensional Dynamic Programming.
137-140 Two Dimensional Dynamic Programming, Top DP Algorithms Greedy B03-Chpater-15
Algorithms

End Term Examination

Data Structure using Object Oriented Programming /22CS013 Page 4 of 10


Course Plan

8. Delivery/Instructional Resources

Lectu Web References Audio-Video References


re Topics
Numb
1-4 Data Structures and Algorithms: Basic https://portal.abuad.edu.ng/l https://ocw.mit.edu/courses/
ers Terminology, Elementary Data ecturer/documents/16043931 6-006-introduction-to-
Organization, Data Structures and 39CSC_207-slide1- algorithms-spring-
Operations introduction_and_terminologi 2020/resources/lecture-2-
es.pptx data-structures-and-
dynamic-arrays/

5-9 Algorithm : Complexity, Time and Space https://ocw.mit.edu/courses/1- https://ocw.mit.edu/courses/6


& Complexity, Asymptotic Notations for 204-computer-algorithms-in- -006-introduction-to-
Complexity( Ω, ω ,θ, O, o) systems-engineering-spring- algorithms-spring-
2010/8ee75d49f1cb9a947f1d3f 2020/resources/lecture-1-
15a2aa9e00_MIT1_204S10_lec algorithms-and-computation/
05.pdf

10-14 Array: Introduction, Representation of https://home.csulb.edu/~hill/e https://ocw.mit.edu/courses/6


Linear Arrays in Memory, Traversing e444/Lectures%20- -006-introduction-to-
Linear Arrays, Insertion and Deletion in %20Deprecated/04%20C++%20 algorithms-spring-
arrays. Arrays%20Arduino.pdf 2020/resources/lecture-2-
data-structures-and-dynamic-
arrays/

15-18 Searching: Linear and Binary Search https://courses.cs.washington. https://www.youtube.com/wa


with their Complexity. edu/courses/cse143/12wi/lect tch?v=k4xVQhMERuQ
ures/01-13/05-binarysearch-
complexity.pdf

19-23 Character Arrays, Strings, Declaration https://web.stanford.edu/class https://ocw.mit.edu/courses/


and Initialization of character array, /archive/cs/cs106b/cs106b.113 6-851-advanced-data-
Memory Representation, Basic 2/handouts/08-C++-Strings.pdf structures-spring-
Operations. Sorting a Char Array. 2012/resources/session-16-
strings/
24-27 Sorting techniques: Selection Sort, https://ocw.mit.edu/courses/6- https://ocw.mit.edu/courses/
Insertion Sort, Quick Sort, Merge Sort. 0001-introduction-to- 6-006-introduction-to-
computer-science-and- algorithms-spring-
programming-in-python-fall- 2020/resources/lecture-5-
2016/resources/mit6_0001f16_ linear-sorting/
lec12/
28-35 Bitmasking, Bitwise operations in https://faculty.cs.byu.edu/~rod https://www.youtube.com/wa
Bitmasking, STL (Standard Template ham/cs240/lecture- tch?v=BKBXM7ypQG0
Library), Components of the STL. notes/Lecture-25-STL/Lecture-
25-STL.pdf

36-40 Recursion & Backtracking: Introduction https://web.stanford.edu/class https://ocw.mit.edu/courses/6


Recursion and Recursive Function /archive/cs/cs106b/cs106b.120 -00sc-introduction-to-
6/lectures/intro-to-recursion/ computer-science-and-
programming-spring-
2011/resources/lecture-6-
recursion/

Data Structure using Object Oriented Programming /22CS013 Page 5 of 10


Course Plan

41-45 Deep Diving into recursion, https://web.mit.edu/6.005/ww https://www.youtube.com/wa


Implementation of Recursion on w/fa15/classes/10-recursion/ tch?v=GOs07Kn2W1E
Subsets, Backtracking Algorithms.

46-50 Preliminaries of Object-oriented https://ocw.mit.edu/courses/ https://ocw.mit.edu/courses


programming using C++: 6-088-introduction-to-c- /6-0001-introduction-to-
keywords, identifiers, data types. memory-management-and-c- computer-science-and-
object-oriented- programming-in-python-fall-
programming-january-iap- 2016/resources/lecture-8-
2010/resources/mit6_088iap object-oriented-
10_lec04/ programming/
51-55 Decision control and looping https://www.cs.uic.edu/~jbel https://www.youtube.com/
statements, Functions. l/CourseNotes/CPlus/Looping watch?v=Y0TYYEhHvIU
.html

56-59 Basics of objects and classes, https://www.cs.fsu.edu/~my https://www.youtube.com/


Dynamic Memory Management & ers/cop3330/notes/dma.html watch?v=vIcOhM_Vkc4
pointers,

60-63 Program structure of C++. Conversion https://home.csulb.edu/~png https://www.youtube.com/


of Algorithm into Program. uyen/cecs100/lecturenotes/P watch?v=VEB8BcI5u10
rogramming%20Developmen
t%20Cycles.docx
64-67 Linked List: Introduction & its memory https://web.stanford.edu/clas https://www.youtube.com/w
representation, traversing a Linked s/archive/cs/cs106b/cs106b.1 atch?v=6wXZ_m3SbEs
List, Insertion into Linked List (sorted 188/lectures/Lecture16/Lectu
and unsorted Linked List), Deleting re16.pdf
from Linked List

68-70 Operations on Doubly Linked List, https://web.eecs.utk.edu/~bv https://www.youtube.com/w


Circular linked List & its applications anderz/teaching/cs140Fa10/n atch?v=xXNdPe17dtg
otes/Dllists/

71-73 Stacks: Array representation of https://web.stanford.edu/clas https://www.youtube.com/w


Stacks, implementation of stack s/archive/cs/cs106b/cs106b.1 atch?v=08QSylWv6jM
using linked list. 186/lectures/05-
74-81 Applications: Arithmetic Expressions, Stacks_Queues/5-
https://web.stanford.edu/clas https://www.youtube.com/w
Polish Notation, Transforming Infix Stacks_Queues.pdf
s/archive/cs/cs106b/cs106b.1 atch?v=XkLfiA7Xbks
Expressions into Postfix Expressions, 186/lectures/05-
Implementations of recursive and Stacks_Queues/5-
non-recursive procedures by Stacks Stacks_Queues.pdf

82-86 Queues: Representation as Array and https://web.stanford.edu/clas https://www.youtube.com/w


Linked List. s/archive/cs/cs106b/cs106b.1 atch?v=XkLfiA7Xbks
186/lectures/05-
Stacks_Queues/5-
Stacks_Queues.pdf
87-90 Deques, Circular Queues, Priority https://web.eecs.utk.edu/~bv https://www.youtube.com/w
Queues. anderz/teaching/cs140Fa10/n atch?v=2zQtymZV6dk
otes/Queues/

91-98 Trees: Binary trees, complete binary https://ocw.mit.edu/courses/ https://ocw.mit.edu/courses


trees, Binary Search Trees, Data 6-006-introduction-to- /6-851-advanced-data-
structures for representing binary algorithms-spring- structures-spring-
trees, Insertion, Deletion and 2020/resources/mit6_006s20 2012/resources/session-15-
Searching of Binary Search _lec6/ static-trees/

Data Structure using Object Oriented Programming /22CS013 Page 6 of 10


Course Plan

99- Tree and their Implementation, Tree http://webdocs.cs.ualberta.ca https://ocw.mit.edu/courses


107 Traversal: preorder, In order, Post /~holte/T26/tree- /6-006-introduction-to-
order and their algorithms, Their traversal.html algorithms-spring-
Implementation. B Trees. 2020/resources/lecture-6-
binary-trees-part-1/
108- Heaps, Difference between heap and https://ocw.mit.edu/courses/ https://ocw.mit.edu/courses
117 Array, insertion and deletion in heap, 6-006-introduction-to- /6-006-introduction-to-
Heap sort implementation and its algorithms-spring- algorithms-spring-
applications. 2020/resources/mit6_006s20 2020/resources/lecture-8-
_lec8/ binary-heaps/
118- Graphs: Basic terminology, directed https://www.seas.upenn.edu/ https://www.youtube.com/w
120 and undirected graphs, notion of ~jean/cis160/cis260slides5.pd atch?v=LxN4oUWJNag
path. f

121- Representation of graphs: edge list https://web2.qatar.cmu.edu/ https://www.youtube.com/w


125 structures, adjacency ~mhhammou/15122- atch?v=JONnqF-oCDo
list structures, adjacency matrix, s16/lectures/23-graphs.pdf
Linked List representation of Graph.

126- Operations on Graph, Graph https://ocw.mit.edu/courses/ https://ocw.mit.edu/courses


128 traversals: DFS, BFS and their 6-006-introduction-to- /6-006-introduction-to-
implementation. algorithms-spring- algorithms-spring-
2020/resources/mit6_006s20 2020/resources/lecture-9-
_lec9/ breadth-first-search/

https://ocw.mit.edu/courses/ https://ocw.mit.edu/courses
6-006-introduction-to- /6-006-introduction-to-
algorithms-spring- algorithms-spring-
2020/resources/mit6_006s20 2020/resources/lecture-10-
_lec10/ depth-first-search/

129- Hashmap, Hashing Techniques, https://ocw.mit.edu/courses/ https://ocw.mit.edu/courses


131 Collision and its resolving. Trie 6-006-introduction-to- /6-006-introduction-to-
Data Structure, Basic Operations on algorithms-spring- algorithms-spring-
Trie. 2020/resources/mit6_006s20 2020/resources/lecture-4-
_lec4/ hashing/

132- Introduction to Dynamic https://ocw.mit.edu/courses/ https://ocw.mit.edu/courses/


136 Programming, Standard problems on 6-006-introduction-to- 6-006-introduction-to-
Dynamic Programming, One algorithms-spring- algorithms-spring-
Dimensional Dynamic Programming. 2020/resources/mit6_006s20 2020/resources/lecture-15-
_lec15/ dynamic-programming-part-
1-srtbot-fib-dags-bowling/

137- Two Dimensional Dynamic https://ocw.mit.edu/courses/ https://ocw.mit.edu/courses/


140 Programming, Top DP Algorithms 6-006-introduction-to- 6-006-introduction-to-
Greedy Algorithms algorithms-spring- algorithms-spring-
2020/resources/mit6_006s20 2020/resources/lecture-16-
_lec16/ dynamic-programming-part-
2-lcs-lis-coins/

Data Structure using Object Oriented Programming /22CS013 Page 7 of 10


Course Plan

9. Action plan for different types of learners


Slow Learners Average Learners Fast Learners
• Remedial Classes on • Incorporate hands-on • Incorporate real-life problem-
Saturdays activities, visual aids, and solving scenarios to engage fast
• Offer supplementary interactive discussions to learners in critical thinking.
materials or activities to keep students engaged. • Encourage the pursuit of
reinforce concepts • Encourage students to independent research projects
outside regular class share their strengths and or special assignments aligned
hours. support each other in areas with personal interests.
• Leverage educational of challenge. • Offer optional extension
apps, interactive activities for those who wish to
software, and online explore topics in greater depth.
resources tailored to
individual needs.

10. Evaluation Scheme & Components:

Evaluation No. of Weightage of Mode of


Type of Component
Component Assessments Component Assessment
Subjective Test/Sessional
Component 2 03* 40% Offline
Tests (STs)
Component 3 End Term Examinations 01 60% Offline
Total 100%
*
All the STs are mandatory. Makeup Examination will compensate for either ST1 or ST-2 (Only for genuine
cases, based on Dean’s approval).

11. Details of Evaluation Components:

Evaluation Description Syllabus Timeline of Examination Weightage


Component Covered (%) (%)
ST 01 32% Week 6
Component 2 ST 02 33% - 64% Week 10 40%
ST 03 65% - 93% Week 17
At the end of the
Component 3 End Term Examination* 100% 60%
semester
Total 100%
*As per Academic Guidelines minimum 85% attendance is required to become eligible for appearing in
the End Semester Examination.

Data Structure using Object Oriented Programming /22CS013 Page 8 of 10


Course Plan

12. Syllabus of the Course:

Lecture No. of Weightage


Number Topics Lectures %
Data Structures and Algorithms: Basic Terminology, Elementary Data
Organization, Data Structures and Operations, Algorithm :
1-9 9
Complexity, Time and Space & Complexity, Asymptotic Notations for
Complexity( Ω, ω ,θ, O, o)
Array: Introduction, Representation of Linear Arrays in Memory,
Traversing Linear Arrays, Insertion and Deletion in arrays. Searching:
Linear and Binary Search with their Complexity.
10-27 Character Arrays, Strings, Declaration and Initialization of character 18
array, Memory Representation, Basic Operations. Sorting a Char
Array.
Sorting techniques: Selection Sort, Insertion Sort, Quick Sort, Merge
Sort.
Bitmasking, Bitwise operations in bitmasking, STL (Standard Template 32%
Library), Components of the STL.
28-45 Recursion & Backtracking: Introduction Recursion and Recursive 18
Function, Deep Diving into recursion, Implementation of Recursion on
Subsets, Backtracking Algorithms,

ST-1 (Syllabus = Lecture number 1-45)

Preliminaries of Object oriented programming using C++:


keywords, identifiers, data types, Decision control and looping
46-63 statements, Functions, Basics of objects and classes, Dynamic 18
Memory Management & pointers, Program structure of C++.
Conversion of Algorithm into Program.
Stacks: Array representation of Stacks, implementation of stack
using linked list, Applications: Arithmetic Expressions, Polish
64-72 Notation, Transforming Infix Expressions into Postfix Expressions, 9
Implementations of recursive and non-recursive procedures by
32%
Stacks
Queues: Representation as Array and Linked List, Deques, Circular
Queues, Priority Queues.
Linked List: Introduction & its memory representation, traversing a
73-90 18
Linked List, Insertion into Linked List (sorted and unsorted Linked
List), Deleting from Linked List. Operations on Doubly Linked List,
Circular linked List & its applications

ST-1 (Syllabus = Lecture number 46-90)


Trees: Binary trees, complete binary trees, Binary Search Trees,
Data structures for representing binary trees, Insertion, Deletion
and Searching of Binary Search Tree and their Implementation, Tree
91-117 Traversal: preorder, In order, Post order and their algorithms, Their 27 29%
Implementation. Heaps, Difference between heap and Array,
insertion and deletion in heap, Heap sort implementation and its
applications.
B Trees.

Data Structure using Object Oriented Programming /22CS013 Page 9 of 10


Course Plan

Graphs: Basic terminology, directed and undirected graphs, notion


of path. Representation of graphs: edge list structures, adjacency
list structures, adjacency matrix, Linked List representation of
Graph, Operations on Graph, Graph traversals: DFS, BFS and their
118-131 14
implementation.
Hashmap, Hashing Techniques, Collision and its resolving.
Trie Data Structure, Basic Operations on Trie.

ST-3 (Syllabus = Lecture number 91-130)

Introduction to Dynamic Programming, Standard problems on


Dynamic Programming, One Dimensional Dynamic Programming, 7%
132-140 9
Two Dimensional Dynamic Programming, Top DP Algorithms Greedy
Algorithms

End Term (Covering 100% syllabus)

This Document is approved by:

Designation Name Signature


Course Coordinator Dr. Anuj Kumar Jain
Head-Academic Delivery Dr. Ravi Kumar Sachdeva
Dean Dr. Raj Gaurang Tiwari
Dean Academics Dr. Monit Kapoor

Date (DD/MM/YYYY) Dec 06, 2023

Data Structure using Object Oriented Programming /22CS013 Page 10 of 10

You might also like