Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Complete Algorithms Complexity and Big O Notation Course
Rating: 4.2 out of 5(984 ratings)
5,389 students

Complete Algorithms Complexity and Big O Notation Course

From beginner to professional in 2 hours!
Created byCronis Academy
Last updated 5/2020
English

What you'll learn

  • Algorithm Time and Space Complexity Evaluation
  • Big O Notation
  • Interview Coding Tasks Review
  • Time Complexity Cases
  • Time Complexities Comparison
  • Mathematical Comparison of Functions
  • Typical Complexities Evaluation
  • log N Complexity
  • Strings and Complexity Evaluation
  • Recursive Algorithms Complexity
  • Amortized Analysis
  • Space Complexity

Course content

1 section16 lectures1h 57m total length
  • Contents1:16
  • Reasons to Study Big O Notation. Mathematical Function4:15
    • Algorithm complexity importance

    • Reasons to study Big O

    • Mathematical function in basic terms

    • Real-life example of mathematical function usage

  • Complexity Evaluation8:32
    • Algorithm complexity (computational complexity)

    • Algorithm complexity types

    • Time complexity of algorithms

    • Space complexity of algorithms

    • Algorithm running time

    • Time complexity function

  • Complexity Cases1:39
    • Best case complexity

    • Worst case complexity

  • Complexities Comparison4:03
    • Comparison of the complexities of two algorithms

    • Comparison problems

  • Mathematical Comparison of Functions10:48
    • Order of a function

    • Comparison of functions orders

    • Finding a function with a lower order

  • Big O Notation18:52
    • Big O notation (Big O, Big Oh)

    • Big O explained

    • Classifying functions using Big O notation

    • Goals of algorithm complexity evaluation

    • Constants and algorithm complexity

    • Big O notation issues

    • Big O arithmetic operations

    • Algorithm complexity classes

    • Constant time complexity, O(1)

    • Logarithmic time complexity, O(log N) (log N complexity)

    • Sublinear time complexity, O(sqrt(N))

    • Linear time complexity, O(N)

    • Linearithmic time complexity, O(N * log N)

    • Quadratic time complexity, O(N^2)

    • Exponential time complexity, O(2^N)

    • Factorial time complexity, O(N!)

  • Typical Complexities Evaluation4:57
    • Arithmetic progression

    • Geometric progression

    • Logarithm

    • Factorial

  • Addition and Multiplication1:09
    • Algorithm complexity of sequential operations

    • Algorithm complexity of nested operations

  • log N Complexity5:02
    • Logarithmic algorithm complexity, O(log N)

    • Binary search algorithm complexity

  • Strings and Complexity Evaluation4:15
    • Internal strings algorithms and their impact on resulting complexity

  • Recursive Functions Complexity7:28
    • Recursive function time complexity

    • Recursive algorithms time complexity

  • Amortized Analysis9:18
    • Amortized analysis and its usage

    • Aggregate method of amortized analysis

  • Space Complexity6:24
    • Space complexity

    • Recursive function space complexity

    • Recursive algorithms space complexity

  • Examples28:26
    • Detailed examples of algorithm complexity analysis that allow to consolidate the concept of algorithm complexity and approaches to its evaluation

  • Summary0:57

Requirements

  • Basic programming skills (you need to know how to write an "if-else" clause and a "for" loop)

Description

To develop effective code, each developer needs to know how to evaluate the complexity of the algorithms.

The course "Big O Notation. Algorithms Complexity Evaluation." in simple language explains the mathematics behind the complexity of algorithms, cases of complexity, the complexity of recursion, strings, amortized analysis and space complexity. In addition we solve 15 examples, some of which are found in interviews on Google, Facebook, Amazon.

We have reworked many books and articles to the most effective for perception and understanding form. As a result this course is independent by its nature and does not require studying of any additional materials. Basic programming skills is the only requirement to understand the course!

Important note: you can always pause the video and process into every aspect of the material in detail!

Who this course is for:

  • Beginners who want to understand from scratch to professional what complexity evaluation is
  • Developers of any level who want to pass an interview at companies such as Google, Facebook, Apple
  • Developers who want to learn how to write effective code
  • Beginner developers curious about time complexity evaluation and Big O Notation