This course is about algorithms running time analysis and complexity theory. In order to be able to classify algorithms we have to define limiting behaviors for functions describing the given algorithm.
We will understand running times such as O(N*logN), O(N), O(logN) and O(1) - as well as exponential and factorial running time complexities.
Thats why big O, big Ω and big θ notations came to be. We are going to talk about the theory behind complexity theory as well as we are going to see some concrete examples.
This course is about algorithms running time analysis and complexity theory. In order to be able to classify algorithms we have to define limiting behaviors for functions describing the given algorithm.
We will understand running times such as O(N*logN), O(N), O(logN) and O(1) - as well as exponential and factorial running time complexities.
Thats why big O, big Ω and big θ notations came to be. We are going to talk about the theory behind complexity theory as well as we are going to see some concrete examples.
Then we will consider complexity classes including P (polynomial) as well as NP (non-deterministic polynomial), NP-complete and NP-hard complexity classes.
Section 1 - Algorithms Analysis
how to measure the running time of algorithms
running time analysis with big O (ordo), big Ω (omega) and big θ (theta) notations
complexity classes
polynomial (P) and non-deterministic polynomial (NP) algorithms
Section 2 - Algorithms Analysis (Case Studies)
constant running time O(1)
linear running time O(N)
logarithmic running time O(logN)
quadratic running time complexity O(N*N)
These concepts are fundamental if we want to have a good grasp on data structures and graph algorithms - so these topics are definitely worth considering. Hope you will like it. Thanks for joining my course, let's get started.
These concepts are fundamental if we want to have a good grasp on data structures and graph algorithms - so these topics are definitely worth considering. Hope you will like it. Thanks for joining my course, let's get started.
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.