# InfoCoBuild

## Design and Analysis of Algorithms

Design and Analysis of Algorithms. Instructor: Prof. Madhavan Mukund, Chennai Mathematical Institute. This course will cover basic concepts in the design and analysis of algorithms: analysis of algorithms; searching and sorting; algorithms on graphs; data structures - union-find and heaps, divide-and-conquer, search trees, greedy algorithms; dynamic programming; linear programming and network flows, intractability. (from nptel.ac.in)

 Lecture 55 - Intractability: Checking Algorithms

Go to the Course Home or watch other lectures:

 Introduction, Analysis of Algorithms Lecture 01 - Course Outline Lecture 02 - Example: Air Travel Lecture 03 - Example: Xerox Shop Lecture 04 - Example: Document Similarity Lecture 05 - Introduction and Motivation Lecture 06 - Input Size, Worst Case, Average Case Lecture 07 - Quantifying Efficiency: O(), Omega(), Theta() Lecture 08 - Examples: Analysis of Iterative and Recursive Algorithms Searching and Sorting Lecture 09 - Arrays and Lists Lecture 10 - Searching in an Array Lecture 11 - Selection Sort Lecture 12 - Insertion Sort Lecture 13 - Merge Sort Lecture 14 - Merge Sort: Analysis Lecture 15 - Quicksort Lecture 16 - Quicksort: Analysis Lecture 17 - Sorting: Concluding Remarks Graphs Lecture 18 - Introduction to Graphs Lecture 19 - Representing Graphs Lecture 20 - Breadth First Search (BFS) Lecture 21 - Depth First Search (DFS) Lecture 22 - Application of BFS and DFS Lecture 23 - Directed Acyclic Graphs: Topological Sort Lecture 24 - Directed Acyclic Graphs: Longest Paths Weighted Graphs Lecture 25 - Single Source Shortest Paths: Dijkstra's Algorithm Lecture 26 - Dijkstra's Algorithm: Analysis Lecture 27 - Negative Edge Weights: Bellman-Ford Algorithm Lecture 28 - All Pairs Shortest Paths Lecture 29 - Minimum Cost Spanning Trees Lecture 30 - Prim's Algorithm Lecture 31 - Kruskal's Algorithm Data Structures: Union-Find and Heaps, Divide and Conquer Lecture 32 - Union Find using Arrays Lecture 33 - Union Find using Pointers Lecture 34 - Priority Queues Lecture 35 - Heaps Lecture 36 - Heaps: Updating Values, Sorting Lecture 37 - Divide and Conquer: Counting Inversions Lecture 38 - Divide and Conquer: Closest Pair of Points Data Structures: Search Trees, Greedy Algorithms Lecture 39 - Binary Search Trees Lecture 40 - Balanced Search Trees Lecture 41 - Greedy Algorithms: Interval Scheduling Lecture 42 - Scheduling with Deadlines: Minimizing Lateness Lecture 43 - Greedy Algorithms: Huffman Codes Dynamic Programming Lecture 44 - Introduction to Dynamic Programming Lecture 45 - Memoization Lecture 46 - Grid Paths Lecture 47 - Common Subwords and Subsequences Lecture 48 - Edit Distance Lecture 49 - Matrix Multiplication Linear Programming and Network Flows, Intractability Lecture 50 - Linear Programming Lecture 51 - LP Modelling: Production Planning Lecture 52 - LP Modelling: Bandwidth Allocation Lecture 53 - Network Flows Lecture 54 - Reductions Lecture 55 - Intractability: Checking Algorithms Lecture 56 - Intractability: P and NP