Complete Algorithms Complexity and Big O Notation Course
4.3 (95 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
565 students enrolled

Complete Algorithms Complexity and Big O Notation Course

From beginner to professional in 2 hours!
4.3 (95 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
565 students enrolled
Created by Cronis Academy
Last updated 10/2019
English
English [Auto-generated]
Current price: $69.99 Original price: $99.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 2 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
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
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
Course content
Expand 16 lectures 01:57:21
+ Complexity Evaluation
16 lectures 01:57:21
  • Algorithm complexity importance

  • Reasons to study Big O

  • Mathematical function in basic terms

  • Real-life example of mathematical function usage

Preview 04:15
  • Algorithm complexity (computational complexity)

  • Algorithm complexity types

  • Time complexity of algorithms

  • Space complexity of algorithms

  • Algorithm running time

  • Time complexity function

Preview 08:32
  • Best case complexity

  • Worst case complexity

Complexity Cases
01:39
  • Comparison of the complexities of two algorithms

  • Comparison problems

Complexities Comparison
04:03
  • Order of a function

  • Comparison of functions orders

  • Finding a function with a lower order

Mathematical Comparison of Functions
10:48
  • 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!)

Big O Notation
18:52
  • Arithmetic progression

  • Geometric progression

  • Logarithm

  • Factorial

Typical Complexities Evaluation
04:57
  • Algorithm complexity of sequential operations

  • Algorithm complexity of nested operations

Addition and Multiplication
01:09
  • Logarithmic algorithm complexity, O(log N)

  • Binary search algorithm complexity

log N Complexity
05:02
  • Internal strings algorithms and their impact on resulting complexity

Strings and Complexity Evaluation
04:15
  • Recursive function time complexity

  • Recursive algorithms time complexity

Recursive Functions Complexity
07:28
  • Amortized analysis and its usage

  • Aggregate method of amortized analysis

Amortized Analysis
09:18
  • Space complexity

  • Recursive function space complexity

  • Recursive algorithms space complexity

Space Complexity
06:24
  • Detailed examples of algorithm complexity analysis that allow to consolidate the concept of algorithm complexity and approaches to its evaluation

Examples
28:26
Summary
00:57