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 25 - Single Source Shortest Paths: Dijkstra's Algorithm


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