Algorithms: Design and Analysis, Part 1 (Coursera)

Algorithms: Design and Analysis, Part 1 (Coursera)
Free Course
Categories
Effort
Certification
Languages
How to program in at least one programming language (like C, Java, or Python); and familiarity with proofs, including proofs by induction and by contradiction.
Misc
Algorithms: Design and Analysis, Part 1 (Coursera)
In this course you will learn several fundamental principles of algorithm design: divide-and-conquer methods, graph algorithms, practical data structures, randomized algorithms, and more.

In this course you will learn several fundamental principles of algorithm design. You'll learn the divide-and-conquer design paradigm, with applications to fast sorting, searching, and multiplication. You'll learn several blazingly fast primitives for computing on graphs, such as how to compute connectivity information and shortest paths. Finally, we'll study how allowing the computer to "flip coins" can lead to elegant and practical algorithms and data structures. Learn the answers to questions such as: How do data structures like heaps, hash tables, bloom filters, and balanced search trees actually work, anyway? How come QuickSort runs so fast? What can graph algorithms tell us about the structure of the Web and social networks? Did my 3rd-grade teacher explain only a suboptimal algorithm for multiplying two numbers?





Free Course
How to program in at least one programming language (like C, Java, or Python); and familiarity with proofs, including proofs by induction and by contradiction.