Skip to content
Data Structures and Algorithms

DSA I · August–November 2022

IIT Gandhinagar · ES242

This archived edition introduces data structures through the operations they support, then develops graph representations and traversal, searching, sorting, heaps and search trees.

Published lecture schedule

DateTopic
02 Aug, 20221. Introduction to Data Structures Data Structures - philosophy and examples • Representing games
03 Aug, 20222. Introduction to Data Structures Representing Sequential Data • Arrays • Lists
09 Aug, 2022Institute Holiday
16 Aug, 20223. Representing Graphs Adjacency Lists • Adjacency Matrices • Edge Lists
17 Aug, 20224. Representing Graphs (contd.) Adjacency Lists • Adjacency Matrices • Edge Lists
23 Aug, 20225. Dequeues Introducing the cardstack data structure • The Gilbreath Shuffle
24 Aug, 20226. Dequeues Queues and Stacks as special cases of Dequeues
30 Aug, 20227. Euler Tours Euler Tour Demonstration • Card trick • de Bruijn sequences • Constructing de Bruijn sequences using Euler Tours
31 Aug, 20228. Euler Tours Computing Euler Tours • Hierholzer's algorithm
06 Sep, 20229. Stable Marriages The Stable Marriage Problem • Gale-Shapley Algorithm
07 Sep, 202210. Stable Marriages Proof of Termination • Bounding the number of proposals • Proving the stability of the output
13 Sep, 202211. Recap Lecture Review of arrays, linked lists, stacks, queues, and graphs
20 Sep, 202212. Navigating Graphs An introduction to navigating graphs
21 Sep, 202213. Navigating Graphs (BFS) Breadth-First Search • Correctness • Analysis of Running Time
11 Oct, 202214. Navigating Graphs (DFS) Depth-First Search • Pre-Post Intervals
12 Oct, 202215. Navigating Graphs (DFS) Depth-First Search • DFS-based classification of vertices • DFS-based classificaton of edges • Cycles and backedges
18 Oct, 202216. DFS Applications Topological Sort (Algorithm)
19 Oct, 202217. DFS Applications Postorder • Preorder • Topological Sort (Analysis)
25 Oct, 202218. Shortest Paths A teaser the challenges in extending BFS to weighted graphs • Pseudopolynomial running time
26 Oct, 202219. Heaps Selection Sort • Supporting only Insert and FindMin • The challenge of ExtractMin
01 Nov, 202220. Heaps The Heap Property • Insert • FindMin • ExtractMin
02 Nov, 202221. Heaps Representing Heaps with Arrays
08 Nov, 2022Institute Holiday
15 Nov, 202222. Heaps Revisited Analysis • Heapify is Linear Time
16 Nov, 202223. Balanced Binary Search Trees (2,3)-Trees • Insertion • Deletion
22 Nov, 202224. Balanced Binary Search Trees (2,3)-Trees Height Analysis
23 Nov, 202225. Recap Review of BFS, DFS, Heaps, and Balanced BSTs

Original course page · Shared slide library