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.
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.
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.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.