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

Problem Solving With Data Structures & Algorithms

This document outlines a course on problem solving with data structures and algorithms. The course covers designing, analyzing, and implementing basic data structures in C++, as well as algorithms that operate on those data structures. Over the course of 5 weeks, students will complete lab assignments on platforms like LeetCode and Hackerrank, working with data structures like arrays, stacks, queues, trees, heaps, and linked lists. The course aims to help students identify suitable data structures for problems, strengthen problem solving abilities, and analyze the performance of algorithms.

Uploaded by

Rajan Singh
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
127 views

Problem Solving With Data Structures & Algorithms

This document outlines a course on problem solving with data structures and algorithms. The course covers designing, analyzing, and implementing basic data structures in C++, as well as algorithms that operate on those data structures. Over the course of 5 weeks, students will complete lab assignments on platforms like LeetCode and Hackerrank, working with data structures like arrays, stacks, queues, trees, heaps, and linked lists. The course aims to help students identify suitable data structures for problems, strengthen problem solving abilities, and analyze the performance of algorithms.

Uploaded by

Rajan Singh
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

S.

No Program Course Title L T P C CH Course


Code Problem Solving with Data Structures Type
Course & Algorithms 0 0 1 0 35 VAC
Code
Pre-requisite -
Co-requisite -
Anti-requisite -

a. Course Description
This course covers the design, analysis, and implementation of basic data structures in C++.
Algorithms operating on the data structures are also covered. It is fundamentally a course about
data structures, not about C++. Then, we delve deeper into the design, analysis and
implementation of such data structures. Asymptotic analysis of algorithms and data structures is
discussed. Other C++ features needed for generic implementations of the data structures are
introduced along the way.

b. Course Objectives
The course is designed to develop skills to design and analyze simple linear and non linear data
structures. It strengthen the ability to the students to identify and apply the suitable data structure
for the given real world problem. It enables them to gain knowledge in practical applications of
data structures.

c. Course Outcomes
CO1 To make the students familiar with logic building for different Data structure concepts.
CO2 To improve the problem solving capabilities on Hackerrank Platform.
CO3 To get proficiency in developing and implementing efficient solutions for different
problems
CO4 Apply important algorithmic design paradigms and methods of analysis.
CO5 Analyze the asymptotic performance of algorithms.

d. Syllabus

Week Lab Topic Syllabus

1.
Module 1 https://www.hackerearth.com/practice/data-structures/arrays/1-d/practice
-problems/algorithm/minimum-additions-0142ac80/
2. https://www.hackerearth.com/practice/data-structures/arrays/multi-
dimensional/practice-problems/algorithm/largest-square-3d7a938a/
3. https://leetcode.com/problems/burst-balloons/
1. https://leetcode.com/problems/container-with-most-water/
Module 2
2. https://leetcode.com/problems/next-permutation/
3. https://leetcode.com/problems/first-missing-positive/
1. https://leetcode.com/problems/remove-duplicates-from-sorted-array/
Module 3 2. https://leetcode.com/problems/search-in-rotated-sorted-array/

Arrays
3. https://leetcode.com/problems/trapping-rain-water/
1. https://leetcode.com/problems/search-insert-position/
Week 1 Module 4 2. https://leetcode.com/problems/jump-game/
3. https://leetcode.com/problems/n-queens/
1. https://leetcode.com/problems/maximum-subarray/
2. https://leetcode.com/problems/word-search/
Module 5 3. https://leetcode.com/problems/maximal-rectangle/
1. https://leetcode.com/problems/valid-parentheses/
2. https://leetcode.com/problems/simplify-path/
Module 6 3. https://leetcode.com/problems/sliding-window-maximum/
1. https://leetcode.com/problems/implement-queue-using-stacks/
Module 7 2. https://leetcode.com/problems/reorder-list/
Stacks & Queues

3. https://leetcode.com/problems/basic-calculator/
1. https://leetcode.com/problems/min-stack/
Week 2 Module 8 2. https://leetcode.com/problems/design-circular-queue/
3. https://leetcode.com/problems/create-maximum-number/
Module 9 1. https://leetcode.com/problems/number-of-students-unable-to-eat-lunch/
2. https://leetcode.com/problems/product-of-the-last-k-numbers/
3. https://leetcode.com/problems/longest-valid-parentheses/
1. https://leetcode.com/problems/time-needed-to-buy-tickets/
Module 10 2. https://leetcode.com/problems/valid-parenthesis-string/
3. https://leetcode.com/problems/number-of-atoms/
1.
Module 11
https://www.hackerrank.com/challenges/tree-preorder-traversal/problem
2. https://www.hackerrank.com/challenges/swap-nodes-algo/problem
3. https://leetcode.com/problems/maximum-depth-of-binary-tree/
Tress & Heaps

1.
Module 12 https://www.hackerrank.com/challenges/tree-postorder-traversal/problem
Week 3
2. https://leetcode.com/problems/construct-binary-tree-from-preorder-
and-inorder-traversal/
3. https://www.codechef.com/problems/MINMAX3
1. https://www.hackerrank.com/challenges/tree-top-view/problem
Module 13 2. https://www.codechef.com/problems/GRUSH
3. https://leetcode.com/problems/trim-a-binary-search-tree/
1.
Module 14 https://www.hackerrank.com/challenges/tree-level-order-traversal/proble
m
2. https://leetcode.com/problems/super-ugly-number/
3. https://leetcode.com/problems/sort-characters-by-frequency/
1. https://leetcode.com/problems/increasing-order-search-tree/
Module 15 2. https://www.hackerearth.com/practice/data-structures/trees/binary-and-
nary-trees/practice-problems/algorithm/magical-tree-1-e7f8cabd/
3. https://leetcode.com/problems/strong-password-checker/
Module 16 1. https://leetcode.com/problems/merge-two-sorted-lists/
2. https://leetcode.com/problems/swap-nodes-in-pairs/
3. https://leetcode.com/problems/merge-k-sorted-lists/
Module 17 1. https://leetcode.com/problems/linked-list-cycle/
2. https://leetcode.com/problems/linked-list-cycle-ii/
3. https://leetcode.com/problems/design-skiplist/
Linked List

Module 18 1. https://leetcode.com/problems/convert-binary-number-in-a-linked-list-
to-integer/
Week 4
2. https://leetcode.com/problems/linked-list-components/
3. https://leetcode.com/problems/reverse-nodes-in-k-group/
Module 19 1. https://leetcode.com/problems/intersection-of-two-linked-lists/
2. https://leetcode.com/problems/odd-even-linked-list/
3. https://leetcode.com/problems/design-skiplist/
Module 20 1. https://leetcode.com/problems/remove-linked-list-elements/
2. https://leetcode.com/problems/linked-list-random-node/
3. https://leetcode.com/problems/lfu-cache/
Module 21 1. https://leetcode.com/problems/merge-sorted-array/
2. https://leetcode.com/problems/merge-intervals/
3. https://leetcode.com/problems/count-of-range-sum/
Searching & Sorting

Module 22 1. https://leetcode.com/problems/intersection-of-two-arrays/
2. https://leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix/
Week 5 3. https://www.hackerrank.com/challenges/cloudy-day/problem
Module 23 1. https://leetcode.com/problems/majority-element/
2. https://leetcode.com/problems/single-element-in-a-sorted-array/
3. https://leetcode.com/problems/split-array-largest-sum/
Module 24 1. https://leetcode.com/problems/find-the-difference/
2. https://leetcode.com/problems/largest-divisible-subset/
3. https://leetcode.com/problems/sort-an-array/
Module 25 1. https://leetcode.com/problems/guess-number-higher-or-lower/
2. https://leetcode.com/problems/top-k-frequent-words/
3. https://leetcode.com/problems/maximum-gap/
Module 26 1. https://leetcode.com/problems/same-tree/
2. https://leetcode.com/problems/water-and-jug-problem/
3. https://leetcode.com/problems/freedom-trail/
Module 27 1. https://leetcode.com/problems/path-sum/
2. https://leetcode.com/problems/most-frequent-subtree-sum/
Week 6 DFS & BFS 3. https://leetcode.com/problems/word-ladder/
Module 28 1. https://leetcode.com/problems/sum-of-left-leaves/
2. https://leetcode.com/problems/array-nesting/
3. https://leetcode.com/problems/contain-virus/
Module 29 1. https://leetcode.com/problems/invert-binary-tree/
2. https://leetcode.com/problems/find-bottom-left-tree-value/
3. https://leetcode.com/problems/longest-increasing-path-in-a-matrix/
Module 30 1. https://leetcode.com/problems/island-perimeter/
2. https://leetcode.com/problems/evaluate-division/
3. https://leetcode.com/problems/cracking-the-safe/
Module 31 1. https://leetcode.com/problems/find-the-town-judge/
2. https://leetcode.com/problems/clone-graph/
3. https://leetcode.com/problems/redundant-connection-ii/
Module 32 1. https://leetcode.com/problems/find-center-of-star-graph/
2. https://leetcode.com/problems/course-schedule/
3. https://leetcode.com/problems/couples-holding-hands/
1. https://leetcode.com/problems/find-if-path-exists-in-graph/
Graph Theory

Module 33
2. https://leetcode.com/problems/minimum-height-trees/
Week 7 3. https://leetcode.com/problems/sum-of-distances-in-tree/
Module 34 1.https://www.hackerrank.com/challenges/bfsshortreach/problem?
isFullScreen=true
2. https://leetcode.com/problems/network-delay-time/
3. https://leetcode.com/problems/shortest-path-visiting-all-nodes/
Module 35 1. https://www.hackerrank.com/challenges/journey-to-the-moon/problem?
isFullScreen=true
2. https://leetcode.com/problems/all-paths-from-source-to-target/
3. https://leetcode.com/problems/critical-connections-in-a-network/
Week 8 Module 36 1. https://leetcode.com/problems/climbing-stairs/
Dynamic
Program

2. https://leetcode.com/problems/generate-parentheses/
3. https://leetcode.com/problems/candy/
Module 37 1. https://leetcode.com/problems/longest-palindrome/
2. https://leetcode.com/problems/minimum-path-sum/
3. https://leetcode.com/problems/edit-distance/

ming & Greedy Method


Module 38 1. https://leetcode.com/problems/pascals-triangle/
2. https://leetcode.com/problems/integer-replacement/
3. https://leetcode.com/problems/number-of-digit-one/
Module 39 1. https://leetcode.com/problems/assign-cookies/
2. https://leetcode.com/problems/unique-binary-search-trees/
3. https://leetcode.com/problems/minimum-cost-to-hire-k-workers/
Module 40 1. https://leetcode.com/problems/lemonade-change/
2. https://leetcode.com/problems/triangle/
3. https://leetcode.com/problems/minimum-number-of-refueling-stops/

e. Text Books:

1. An Introduction to Data Structures with Applications. by Jean-Paul Tremblay & Paul G.


Sorenson Publisher-Tata McGraw Hill.
2. Data Structures using C & C++ -By Ten Baum Publisher – Prentice-Hall International.
3. Fundamentals of Computer Algorithms by Horowitz, Sahni, Galgotia Pub. 2001 ed.

f. Reference Books:

1. Fundamentals of Data Structures in C++-By Sartaj Sahani.


2. Data Structures: A Pseudo-code approach with C -By Gilberg & Forouzan Publisher-
Thomson Learning.

You might also like