CS192,REviewed Advanced Data Structures - Feb 2024 (3)
CS192,REviewed Advanced Data Structures - Feb 2024 (3)
2. Course Outcomes
At the end of the course, students will be able to:
CO1. Understand the detailed view of data structures and algorithms with underlying mathematics behind it.
CO2. Revisit Object Oriented fundamentals along with the concepts of other linear data structures like Linked
lists and Stacks and non-linear data structures like Graphs, Tries, Binary Trees and its variations; with main
emphasis on Interview based questions.
CO3. Explore various algorithm strategies such as DP, Greedy Method, Backtracking and Bit-masking.
CO4. Analyse and evaluate different data structures and will be able to prepare well for Interview panels
through numerical understanding of the concepts.
CO5. Implement the concepts of data structures and algorithms on several forums like code-chef, coding ninjas,
GFG and Hacker Rank.
CLO-PO Mapping grid |Program outcomes (POs) are available as a part of Academic Program Guide
Course PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
Outcomes
CO1 H H M H M M L
CO2 H M H
CO3 H H M H L
CO4 M
CO5 M M M L M L L
5. Recommended Tools and Platforms: Windows 10 or higher / Ubuntu 21.04, GCC Compiler, IDE
6. Course Plan Lecture
Lecture Topics Recommended
No. Books / Resources
1-2 Arrays-1: Advance Problems on 1-D arrays RB3
3-4 Arrays-2: Advance Problems on 2-D arrays RB4
5-6 Pointers and arrays
7-8 Interview questions based on arrays
9 Searching algorithms and related problems RB1
10-11 Sorting algorithms and related problems
12-13 Interview questions based on searching and sorting RB2
14-15 Strings: Implementation Problems on Strings RB2
16-17 Linked list and related problems RB2
18 Memory efficient Doubly linked lists and related problems RB2
19-20 Interview questions based on linked lists
21-22 Stacks with arrays and linked lists. RB2
23-24 Interview questions based on stacks. RB2, RB5
25-26 Queues with arrays and linked lists.
27-28 Interview questions based on Queues.
29-30 Recursion: Basics of Recursion, Types of Recursion and basic problems on recursion. RB2, RB5
ST1 (Syllabus covered from Lecture 1 to 30)
31-33 Binary Trees – 1: Binary Trees (Definition, Traversals, Implementation, Algorithms on RB1, RB2, RB5
Trees, Interview Problems on Trees)
34-35 Binary Trees – 2: Interview Problems Based on Trees. RB4
36-37 Binary Search Trees – 1: Implementation of BST, Standard Problems on BST. RB4
38-39 Binary Search Trees – 2: Interview Problems Based on Trees. RB2
40-41 Hash maps – 2: Hashing Techniques, Interview Problems based on Hashing.
42-43 Priority Queue – 2: Advanced Problems on Heaps. RB3
44-46 Graphs-1: Undirected Graphs, Cycle Detection, shortest cycle in an undirected graphs RB3, RB4
etc. Directed Graphs, Topological sort, Cycle Detection in an directed graphs)
47-50 Graphs-2: Graph Traversals and Problems based on the above mentioned topics. RB2
51-54 Graphs-3: Minimum Spanning Trees, Kruskal's and Prism's Algorithm, Introduction to RB1
Weighted Graphs
55-58 Graphs-4: Single Source Shortest Path - Dijkstras's Algorithm, Bellman Ford Algorithm RB4, RB5
and related Problems.
ST2 (Syllabus covered from Lecture 31 to 58)
59-60 Revision and Doubt Clearing Sessions
END TERM – FULL SYLLABUS
8. Delivery/Instructional Resources
Lecture Topics PPT Industry Expert Web References Audio-
No. (Link of ppts Session Video
on the central (If yes: link of ppts on
server) the central server)
1-2 Arrays-1: Advance Problems https://www.techiedelight.com/s
on Sliding Windows and Two liding-window-problems/
pointers will be discussed.
https://codeforces.com/blog/ent
ry/66274#:~:text=Prefix%20array
Arrays- 2: Discussion
Frequency Arrays and Prefix %20is%20a%20very,time%20com
Arrays and Its Problems. plexity%20of%20your%20progra
m.
3-5 Binary Search: Binary Search, https://www.thealgorists.com/Al
Its Implementation and go/BinarySearch/AdvancedBinary
Advance Binary Search Search
problems will be discussed.
https://www.upwork.com/resour
ces/what-is-dynamic-
programming
https://itnext.io/introduction-to-
multi-dimensional-dynamic-
programming-666b095b2e7b
https://www.hackerearth.com/pr
actice/math/combinatorics/basic
s-of-combinatorics/tutorial/
https://www.tutorialspoint.com/
discrete_mathematics/discrete_
mathematics_recurrence_relatio
n.htm
https://www.statisticssolutions.c
om/free-resources/directory-of-
statistical-
analyses/mathematical-
expectation/
52-60 Graphs-1: Undirected Graphs, https://www.geeksforgeeks.org/
Cycle Detection, shortest detect-cycle-undirected-graph/
cycle in an undirected graphs
etc, Directed Graphs,
https://www.geeksforgeeks.org/t
Topological sort, Cycle
Detection in an directed opological-sorting/
graphs)
https://practice.geeksforgeeks.or
Graphs-2: Kosaraju algorithm, g/problems/strongly-connected-
DSU and Problems based on components-kosarajus-algo/1
the above mentioned topics.
https://www.geeksforgeeks.org/k
Graphs-3: Minimum Spanning
Trees, Kruskal's and Prism's ruskals-minimum-spanning-tree-
Algorithm, Introduction to algorithm-greedy-algo-2/
Weighted Graphs.
https://www.geeksforgeeks.org/
Graphs-4: Dijkstra's, Bellman dijkstras-shortest-path-algorithm-
ford algorithms and Problems greedy-algo-7/
based on the above
mentioned Topics.
Useful Resources:
http://www.beehyve.io/ - this is a community of CS students studying the same topics
http://www.geeksforgeeks.org/ - explains all the high level fundamentals
https://visualgo.net/en - has visualizations of a lot of helpful algorithms
International Courses:
CS 226 Algorithms and Data Structures: http://www.cs.princeton.edu/courses/archive/fall14/cos226/info.php
Brown CS 16 - Introduction to Algorithms and Data Structures: http://cs.brown.edu/courses/cs016/
Stanford CS 166 Data Structures: http://web.stanford.edu/class/cs166/
University of Washington, St. Louis (CSE241) Algorithms and Data Structures:
http://classes.engineering.wustl.edu/cse241/
Harvard CSE 22 Data Structures: http://sites.fas.harvard.edu/~cscie22/
Important links:
https://www.udemy.com/course/learning-data-structures-and-algorithms/
https://www.coursera.org/specializations/data-structures-algorithms
https://hackr.io/tutorials/learn-data-structures-algorithms
https://www.edx.org/course/algorithms-and-data-structures
https://www.codingninjas.com/courses/onlline-c-plus-plus-course
https://swayam.gov.in/nd1_noc20_cs85/preview
https://www.niit.com/india/short-term-courses/information-technology/data-structures-and-algorithms
https://practice.geeksforgeeks.org/courses/dsa-self-paced
https://www.youtube.com/playlist?list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P
https://www.youtube.com/channel/UCu4ztYtW-Bg1KIfcLAULtVQ
https://nptel.ac.in/courses/106/102/106102064/
https://www.swayamprabha.gov.in/index.php/program/archive/13
https://www.youtube.com/playlist?list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P
https://swayam.gov.in/nd2_cec19_cs04/preview