Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Time and space complexity analysis (big-O notation)
Rating: 4.4 out of 5(235 ratings)
4,235 students

Time and space complexity analysis (big-O notation)

Learn how to analyze the time complexity and the space complexity of an algorithm by using the big O notation
Created byInside Code
Last updated 4/2021
English

What you'll learn

  • Analyze the time and space complexity of an algorithm
  • Compare the complexity of two algorithms
  • Complexity of searching and sorting algorithms
  • Complexity of data structures main operations

Course content

8 sections57 lectures7h 35m total length
  • Introduction10:28
  • Examples20:31
  • Big-O, big-Ω, and big-θ notations30:02
  • Extra resource: Notations mathematical definition0:51
  • Quiz: Big-O, big-Ω, and big-θ notations
  • Best, average, and worst case9:02

    Explore best, average, and worst case time complexity with unsorted array search examples, and clarify big-O, big-Omega, and big-Theta notations.

  • Complexity classes7:46

    Explore complexity classes such as P, NP, NP-complete, and NP-hard, with reductions, proofs, and the P vs NP question, plus examples like palindrome, traveling salesman, and hamiltonian path.

Requirements

  • Basic programming knowledge

Description

WARNING: The instructor is not currently available to answer questions regarding this course


You have issues with time and space complexity analysis? No worries, get ready to take a detailed course on time and space complexity analysis that will teach you how to analyze the time and space complexity of an algorithm, an important skill to have in computer science and competitive programming!

The course contains both theory and practice, theory to get all the knowledge you need to know about complexity analysis (notations, input cases, amortized complexity, complexity analysis of data structures...) and practice to apply that knowledge to analyze the time and space complexity of different algorithms!

And to make your learning experience better, the course will have quizzes, extra resources, captions, animations, slides, good audio/video quality...et cetera. And most importantly, the ability to ask the instructor when you don't understand something!

Hours and hours of researching, writing, animating, and recording, to provide you with this amazing course, don't miss it out!

The course will cover:

  • Complexity analysis basics

  • Big-O, big-Omega, and big-Theta notations

  • Best, average, and worst case

  • Complexities hierarchy

  • Complexity classes (P vs NP problem)

  • How to analyze the time and space complexity of an algorithm

  • How to compare algorithms efficiency

  • Amortized complexity analysis

  • Complexity analysis of searching algorithms

  • Complexity analysis of sorting algorithms

  • Complexity analysis of recursive functions

  • Complexity analysis of data structures main operations

  • Common mistakes and misconceptions

  • Complexity analysis of some popular interview coding problems

Hope to see you in the course!

Who this course is for:

  • Programmers
  • Computer science students
  • Engineering students
  • Competitive programmers
  • Self-taught developers