This course will cover basic concepts in the design and analysis of algorithms.
- Asymptotic complexity, O() notation
- Sorting and search
- Algorithms on graphs: exploration, connectivity, shortest paths, directed acyclic graphs, spanning trees
- Design techniques: divide and conquer, greedy, dynamic programming
- Data structures: heaps, union of disjoint sets, search trees
INTENDED AUDIENCE: Students in BE/BTech Computer Science, 2nd/3rd year.PRE-REQUISITES: Exposure to introductory courses on programming and data structures.INDUSTRY SUPPORT: This course should be of value to any company working in the area of software services and products.