Lecture - 1 Introduction to Data Structures and Algorithms
2
Lecture - 2 Stacks
3
Lecture - 3 Queues and Linked Lists
4
Lecture - 4 Dictionaries
5
Lecture - 5 Hashing
6
Lecture - 6 Trees
7
Lecture - 7 Tree Walks / Traversals
8
Lecture - 8 Ordered Dictionaries
9
Lecture - 9 Deletion
10
Lecture - 10 Quick Sort
11
Lecture - 11 AVL Trees
12
Lecture - 12 AVL Trees
13
Lecture - 13 Trees
14
Lecture - 14 Red Black Trees
15
Lecture - 15 Insertion in Red Black Trees
16
Lecture - 16 Disk Based Data Structures
17
Lecture - 17 Case Study: Searching for Patterns
18
Lecture - 18 Tries
19
Lecture - 19 Data Compression
20
Lecture - 20 Priority Queues
21
Lecture - 21 Binary Heaps
22
Lecture - 22 Why Sorting
23
Lecture - 23 More Sorting
24
Lecture - 24 Graphs
25
Lecture - 25 Data Structures for Graphs
26
Lecture - 26 Two Applications of Breadth First Search
27
Lecture - 27 Depth First Search
28
Lecture - 28 Applications of DFS
29
Lecture - 29 DFS in Directed Graphs
30
Lecture - 30 Applications of DFS in Directed Graphs
31
Lecture - 31 Minimum Spanning Trees
32
Lecture - 32 The Union
33
Lecture - 33 Prims Algorithm for Minimum Spanning Trees
34
Lecture - 34 Single Source Shortest Paths
35
Lecture - 35 Correctness of Dijkstras Algorithm
36
Lecture - 36 Single Source Shortest Paths
Description:
Instructor: Dr. Naveen Garg, Department of Computer Science and Engineering, IIT Delhi.
The objective of the course is to familiarize students with basic data structures and their use in fundamental algorithms. Topics covered include an introduction to object-oriented programming through stacks, queues and linked lists; Dictionaries: skip-lists, hashing, analysis of collision resolution techniques; trees, traversals, binary search trees, 2-4 trees and red-black trees; Tries and pattern matching; priority queues and binary heaps; sorting: merge, quick, radix, selection, heap; graphs, breadth first search and connected components; depth first search in directed and undirected graphs and strongly connected components; spanning trees: Prim's and Kruskal's algorithm, union-find data structure; Dijkstra's algorithm for shortest paths, shortest path tree; directed acyclic graphs: topological sort and longest path.