An Introduction to Algorithmics
Pluralsight
Course Summary
An introductory guided tour to the field of data structures, algorithms, and complexity analysis. This course is loaded with a ton of practical examples, and focuses on intuition, rather than formulas and mathematical proofs.
-
+
Course Description
The phrase "Get Great Performance for Free!" sounds like a quote from bad commercial, but when it comes to algorithms and data structures, that may actually be the case. This introductory course shows how the use of common data structures may simplify and even significantly impact performance of solutions to typical real-life everyday programming problems. The course gently introduces the viewer for "complexity analysis" which makes it possible to spot a poorly (and a great) performing program, even without the need for executing it. Complexity analysis is an invaluable tool or "language" for discussing performance with colleagues - and it's not even difficult. After having covered the most common data structures, the course continues to describe some general strategies (algorithms) to efficiently solve more high-level problems. Like with data structures, it is shown how a careful choice of problem solving strategy can dramatically reduce computation time. The last part of the course shifts the focus a bit and shortly teases a few popular theoretical subjects and explains, at a purely intuitive level, what the complexity classes P, NP, and the famous problem, P = NP, is all about.
-
+
Course Syllabus
Introduction to Algorithms- 7m 27s
—Strategies Matter 7m 27sMeasuring Performance- 57m 35s
—Introduction 8m 18s
—Asymptotic Performance 5m 8s
—Big Theta 9m 36s
—Big O 11m 41s
—Big Omega 2m 40s
—Recursive Methods 13m 57s
—Amortized Complexity 2m 27s
—Lessons Learned 3m 44sOrganizing Data Efficiently with Common Data Structures- 58m 53sOperating on Data Efficiently with Common Algorithms- 1h 31mLooking Ahead to Some Very Hard Problems- 34m 36s