Skip to content
UdemyIT & SoftwarePaid courseAll Levels

Complexity Theory - Running Time Analysis of Algorithms (Udemy.com)

Learn Asymptotic Complexity, Running Times Analysis (O, Ω, θ) and Complexity Classes (P and NP)

Created by: Holczer Balazs

Last updated June 2022

icon
What you will learn

  • Understand running time analysis
  • To be able to analyze algorithms' running times
  • Understand complexity notations
  • Understand complexity classes (P and NP)

How it compares

Against the other 1,182 rated Udemy courses in IT & Software on CourseDuck:

  • Rating4.5 out of 5higher than 45% of them
  • Reviews2,428#220 of 1,183 by number of reviews
  • Length1.9 hoursshorter than 85% of them
  • Last updatedJune 2022earlier than 77% of them

icon
Course Description

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!

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Holczer Balazs

My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist. At the moment I am working as a simulation engineer at a multinational company. I have been interested in algorithms and data structures and its implementations especially in Java since university. Later on I got acquainted with machine learning techniques, artificial intelligence, numerical methods and recipes such as solving differential equations, linear algebra, interpolation and extrapolation. These things may prove to be very very important in several fields: software engineering, research and development or investment banking. I have a special addiction to quantitative models such as the Black-Scholes model, or the Merton-model.

Take a look at my website if you are interested in these topics!

icon
More courses by Holczer Balazs

$16.99

$10.99

$11.99

$10.99

$13.99

$13.99

icon
More IT & Software courses

$49.99

$10.99

$124.99

$19.99

$11.99

$19.99

icon
Reviews

4.5

2,428 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Robert Wyszomirski on 12/13/2021

Decent course, slides didn't look too professional and some had far too much written on them. All in all, I learned what I needed to continue with the teacher's data structures course. Hopefully it is better structured than this course.

By William Dillon on 11/14/2020

This course does a good job of explaining the basics of complexity theory so that you can more effectively study algorithms and data structures. It's a very quick and basic primer but I think it gave me the foundational understanding of complexity theory I need to move on, and I think a lot of the concepts will become even more clear as I learn more algorithms and data structures and see the concepts I learned in this course applied.

By Zack Tyler Jackman on 5/20/2020

Loved it explained it in an appropriate amount of detail to not bore while getting needed material across, My own personal irritation which is very minor is that when he is breaking down the math, for example one point its 100/3 his answer is 34 not 33.33... he doesn't state that he is rounding and just moves past it. Again that might just be me otherwise I found it to be fantastic.

By Kaigh Taylor on 12/7/2019

I found this course to be an excellent basis for my Data Structure courses. I find this educator to be both knowledgeable and easy to learn from. I would recommend this course and this instructor to anyone who wants to learn Complexity Theory basics for a great foundation into data structures and how and when to use them.

By Ellington Brambila on 8/12/2019

I would like to congratulate Holczer Balazs because their courses are wonderful. He dominates the subject and has a PERFECT method to teach and make you understand very well. His English is perfect, mainly for people from other countries that English isn't the native language. I bought almost all of his courses because I need to learn more about data structures and related subjects, and his courses are almost a post-graduation course. Thanks so much for your courses and for your willingness to teach everyone around the world! I am anxious to continue having your next classes.

By Rakeeb Rajbhandari on 1/23/2018

A detailed course with practical examples! Really loved it. Was kind of lost during the first few lessons, where there was a lot of mathematical proving going on, maybe you could revise them to be a bit simpler?

By Gal Arus on 12/14/2017

The way to calculate the running time is not explained, like you need to multiple the number of loops with the inside loop actions. also there is nothing about recursive methods. still thank you its was helpful for understanding the basics

By Ben Holtzman on 8/15/2017

There's a lot of background and theory included in this course. I did have a difficult time trying to understand some of the lectures. It may be my own problem, more than an issue with the course. In my case, I think I just need more recent math to feel comfortable with the pace.

By Paula Lee on 3/24/2017

I have been looking for an explanation of time complexity for awhile that gave good examples and break down of certain algorithms. Balazs Holczer has done a great job explaining what the notations do, how they look, and great illustrations of running time.

By Mahmoud Khafagy on 12/12/2016

I have skimmed through several courses for algorithms and I always got stuck at the complexity theory part. In this course, the instructor gives clear illustrations and helps clarify and simplify the rather daunting subject at a very good pace. The course topics unfold in a nice flow when introducing new concepts, the instructor never leaves a concept unexplained. All the examples are to the point without excessive or unnecessary stuff that keep you confused. I would recommend this course to any beginner who has a basic knowledge in college math and wants to understand the complexity theory.

Showing all 10 reviews on CourseDuck

Read all 2,428 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 90 / 100