# InfoCoBuild

## An Introduction to Algorithms and Analysis

An Introduction to Algorithms and Analysis. Instructor: Prof. Sourav Mukhopadhyay, Department of Mathematics, IIT Kharagpur. This course provides an introduction to mathematical modeling of computational problems. It covers the common algorithms, algorithmic paradigms, and data structures used to solve these problems. The course emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems. (from nptel.ac.in)

 Insertion Sort

 Lecture 01 - Insertion Sort Lecture 02 - Analysis of Insertion Sort Lecture 03 - Asymptotic Notation Lecture 04 - Recurrence for Merge Sort Lecture 05 - Substitution Method for Solving Recurrence Lecture 06 - The Master Method Lecture 07 - Divide and Conquer Lecture 08 - Divide and Conquer (cont.) Lecture 09 - Strassen's Algorithm Lecture 10 - Quicksort Lecture 11 - Analysis of Quicksort Lecture 12 - Randomized Quicksort Lecture 13 - Heap Lecture 14 - Heap Sort Lecture 15 - Decision Tree Lecture 16 - Linear Time Sorting Lecture 17 - Radix Sort and Bucket Sort Lecture 18 - Order Statistics Lecture 19 - Randomized Order Statistics Lecture 20 - Worst Case Linear Time Order Lecture 21 - Hash Function Lecture 22 - Open Addressing Lecture 23 - Universal Hashing Lecture 24 - Perfect Hashing Lecture 25 - Binary Search Tree (BST) Sort Lecture 26 - Randomly Built BST Lecture 27 - Red Black Tree Lecture 28 - Red Black Tree (cont.) Lecture 29 - Augmentation of Data Structure Lecture 30 - Interval Trees Lecture 31 - Fixed Universe Successor Lecture 32 - Van Emde Boas Data Structure Lecture 33 - Amortized Analysis Lecture 34 - Computational Geometry Lecture 35 - Computational Geometry (cont.) Lecture 36 - Dynamic Programming Lecture 37 - Longest Common Subsequence Lecture 38 - Graphs Lecture 39 - Prim's Algorithm Lecture 40 - Graph Search Lecture 41 - Breadth-First Search and Depth-First Search Lecture 42 - Shortest Path Problem Lecture 43 - Dijkstra's Algorithm Lecture 44 - Example of Dijkstra's Algorithm Lecture 45 - Bellman-Ford Algorithm Lecture 46 - Correctness of Bellman-Ford Algorithm Lecture 47 - Application of Bellman-Ford Algorithm Lecture 48 - All Pairs of Shortest Path Lecture 49 - Floyd-Warshall Algorithm Lecture 50 - Johnson Algorithm Lecture 51 - Disjoint Set Data Structure Lecture 52 - Union-Find Lecture 53 - Augmented Disjoint Set Data Structure Lecture 54 - Network Flow Lecture 55 - Network Flow (cont.) Lecture 56 - Network Flow (cont.) Lecture 57 - More On Dynamic Programming Lecture 58 - More On Dynamic Programming (cont.) Lecture 59 - Computational Complexity Lecture 60 - Computational Complexity (cont.)

 References An Introduction to Algorithms and Analysis Instructor: Prof. Sourav Mukhopadhyay, Department of Mathematics, IIT Kharagpur. This course provides an introduction to mathematical modeling of computational problems.