Educational level: this is a tertiary (university) resource. |
Completion status: this resource is ~25% complete. |
Subject classification: this is a mathematics resource. |
Subject classification: this is an information technology resource. |
Donald Knuth lists, in the preface of The Art of Computer Programming Vol 3, the following as the important questions of design and analysis of algorithms[1]:
- How are good algorithms discovered?
- How can given algorithms and programs be improved?
- How can the efficiency of algorithms be analyzed mathematically?
- How can a person chose rationally between different algorithms for the same task?
- In what senses can algorithms be proved "best possible"?
- How does the theory of computing interact with practical considerations?
- How can external memories like tapes, drums, or disks be used efficiently with large databases?
Course Outline
Introduction
Mathematical Foundations
Sorting
- MIT Video: Quicksort, Randomized Algorithms
- IIT Video: Average case Analysis of Quicksort
- MIT Video: Linear-time Sorting: Lower Bounds, Counting Sort, Radix Sort
- IIT Video: Lower Bounds for Sorting
Extra videos
Divide and Conquer Methods
- IIT Video: Algorithm Design Techniques : Basics [46:23.]
- MIT Video: Divide-and-Conquer: Strassen, Fibonacci, Polynomial Multiplication
- IIT Video: Divide and Conquer 1
- IIT Video: Divide and Conquer 2 - Median Finding
- IIT Video: Divide and Conquer 3 - Surfing Lower Bounds
- IIT Video: Divide and Conquer 4 - Closest Pair of Points
Greedy Methods
- MIT Video: Greedy Algorithms, Minimum Spanning Trees
- IIT Video: Greedy Algorithms 1
- IIT Video: Greedy Algorithms 2
- IIT Video: Greedy Algorithms 3
- IIT Video: Greedy Algorithms 4
Pattern Matching
Backtracking
Graph Algorithms
- ADUni Video: Graph Algorithms 1 - Topological Sorting, Prim's Algorithm
- ADUni Video: Graph Algorithms 2 - DFS, BFS, Kruskal's Algorithm, Union Find Data Structure
- ADUni Video: Graph Algorithms 3: Shortest Path
- IIT Video: Shortest Paths 1: Properties, Dijkstra's Algorithm, Breadth-first Search
- IIT Video: Shortest Paths 2: Bellman-Ford, Linear Programming, Difference Constrain
- IIT Video: Shortest Paths 3: All-pairs Shortest Paths, Matrix Multiplication, Floyd-Warshall, Johnson
Dynamic Programming
- IIT Video: Introduction to Dynamic Programming
- IIT Video: Longest Common Subsequence
- IIT Video: Matrix Chain Multiplication
- IIT Video: Scheduling with Startup and Holding Costs
- MIT Video: Dynamic Programming, Longest Common Subsequence
NP-Completeness
- IIT Video: NP-Completeness 1 - Motivation
- IIT Video: NP-Completeness 2
- IIT Video: NP-Completeness 3
- IIT Video: NP-Completeness 4
- IIT Video: NP-Completeness 5
- IIT Video: NP-Completeness 6
Approximation algorithms
Maximum Bipartite Matching
Problems Sets
solve the recurrence equuation for t(n)=2t(n-1)+n2^n+n^2
Exams
Textbooks
Free textbooks:
- Algorithms by S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani
Supplementary Materials
- Extra lecture videos:
- Full algorithms course materials by Jeff Erickson
- Art of Programming Contest by Ahmed Shamsul Arefin
- A full course on Algorithmic Problem Solving
- Problems on Algorithms by Ian Parberry
- Books related to algorithms and computer science in general
Related Websites
References
- ↑ Donald Knuth. The Art of Computer Programming, Volume 3: Sorting and Searching, Third Edition. Addison-Wesley, 1997. ISBN 0-201-89685-0. Preface, pp.v.
See also
This article is issued from Wikiversity. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.