# Data Structures and Algorithms

The objective of the course is to familiarize students with basic data structures and their use in fundamental algorithms. Topics covered include: 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. (from nptel.ac.in )

Instructor

###### Dr. Naveen Garg, Department of Computer Science and Engineering, IIT Delhi.

Record ID

recwv8TUskkQSgbqh