# Data Structures and Algorithms

### Course Description

The objective of the course is to familiarize students with basic data structures and their use in fundamental algorithms. Course contents: 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, optimal and average BST's. 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.

Dr. Naveen Garg on his first lecture of the series on "Data Structures and Algorithms" of the DepartmentÂ of Computer Science and Engineering, IIT Delhi.
11 ratings

### Video Lectures & Study Materials

# Lecture Play Lecture
1 Introduction to Data Structures and Algorithms (53:31) Play Video
2 Stacks (01:04:10) Play Video
3 Queues and Linked Lists (01:00:35) Play Video
4 Dictionaries (53:43) Play Video
5 Hashing (01:11:23) Play Video
6 Trees (43:14) Play Video
7 Tree Walks / Traversals (51:11) Play Video
8 Ordered Dictionaries (56:17) Play Video
9 Deletion (58:32) Play Video
10 Quick Sort (58:44) Play Video
11 AVL Trees (53:42) Play Video
12 AVL Trees (01:00:19) Play Video
13 Trees (49:11) Play Video
14 Red Black Trees (01:04:33) Play Video
15 Insertion in Red Black Trees (48:34) Play Video
16 Disk Based Data Structures (42:36) Play Video
17 Case Study: Searching for Patterns (01:02:01) Play Video
18 Tries (01:01:35) Play Video
19 Data Compression (45:46) Play Video
20 Priority Queues (49:46) Play Video
21 Binary Heaps (41:52) Play Video
22 Why Sorting (48:27) Play Video
23 More Sorting (58:00) Play Video
24 Graphs (56:45) Play Video
25 Data Structures for Graphs (57:48) Play Video
26 Two Applications of Breadth First Search (53:24) Play Video
27 Depth First Search (53:46) Play Video
28 Applications of DFS (59:32) Play Video
29 DFS in Directed Graphs (53:08) Play Video
30 Applications of DFS in Directed Graphs (38:46) Play Video
31 Minimum Spanning Trees (58:51) Play Video
32 The Union (55:14) Play Video
33 Prims Algorithm for Minimum Spanning Trees (01:01:15) Play Video
34 Single Source Shortest Paths (58:58) Play Video
35 Correctness of Dijkstras Algorithm (55:59) Play Video
36 Single Source Shortest Paths (57:42) Play Video