Big O Notation - Full Course

preview_player
Показать описание
This course will teach you how to understand and apply the concepts of Big O Notation to Software Engineering. Big-O notation is a way to describe how long an algorithm takes to run or how much memory is used by an algorithm.

⭐️ Course Contents ⭐️
⌨️ (0:00:00) Intro
⌨️ (0:00:39) What Is Big O?
⌨️ (0:07:08) O(n^2) Explanation
⌨️ (0:14:06) O(n^3) Explanation
⌨️ (0:26:29) O(log n) Explanation Recursive
⌨️ (0:31:12) O(log n) Explanation Iterative
⌨️ (0:36:08) O(log n) What Is Binary Search?
⌨️ (0:41:30) O(log n) Coding Binary Search
⌨️ (0:58:12) O(n log n) Explanation
⌨️ (1:02:50) O(n log n) Coding Merge Sort
⌨️ (1:17:04) O(n log n) Merge Sort Complexity Deep Dive
⌨️ (1:28:06) O(2^n) Explanation With Fibonacci
⌨️ (1:36:02) O(n!) Explanation
⌨️ (1:47:19) Space Complexity & Common Mistakes
⌨️ (1:55:53) End

🎉 Thanks to our Champion and Sponsor supporters:
👾 Wong Voon jinq
👾 hexploitation
👾 Katia Moran
👾 BlckPhantom
👾 Nick Raker
👾 Otis Morgan
👾 DeezMaster
👾 Treehouse
👾 AppWrite

--

Рекомендации по теме
Комментарии
Автор

Wow! Been learning your beginner programming course but stopped because I can't follow on the big o notation part and been searching to learn more about it. You posted about it when I exactly needed it, thank you so much ! You guys are such a lifesaver!

adns-
Автор

Thank you for clearing the Big O notation concept in this video. I searched everywhere to learn that concept but didn't find any. So, when I came to know about this video, I'm extremely proud of myself for choosing this one. It has cleared all my concepts related to Big O and space complexity.

aishwaryasingh
Автор

Quite possibly the best explanation of Big O that I have come across on the web period!

bhargavpandya
Автор

Simply amazing visualizations! A great teacher is able to break down complex topics, and visualize them intuitively, summarizing without removing any of the details, indeed making the details easier to understand.

konstantinrebrov
Автор

You dont know how much i wanted this course

thank you so much Free Code Camp
you really deserve a lot of praise

noobypro
Автор

Two hours well spent!!!
Amazing course, Clear and Concise Explanation of each topic. Thank you so much for making this video.

nileshsaini
Автор

It's like you guys can read my mind to know just what I'm searching for

archive
Автор

This channel is killing it it's like Top 1% of the content Thank you so much

rohankademani
Автор

Christ pls give me the attention span to get through this course. Amen

StarRoseAngelic
Автор

3 years and this is still ridiculously helpful! This video is a guide on how youtube videos should be executed, that no matter the age the video is still relevant

saveoon
Автор

the sound at 1:20:12 it got me cracking up lol.

an amazing straightforward tutorial, thanks a lot!

idilsuozer
Автор

At 1:05:40, you don't need to specify the last element of an array in the slice function. Leaving the second argument blank will do the trick, as specifying only one argument in slice goes to the end of an array by default.

sirbalafort
Автор

This is what I'm currently learning in college and needed someone to break it down for me. Thanks 👍

montyferguson
Автор

I've looked at so many videos trying to find a person who explained it easiest and quickly and somehow the nearly 2 hour long video is the only one that did both of those

thebeaverkidd
Автор

That is the best explanation about Big O notation I have ever seen 🤯

stevehoang
Автор

1:15:30 -
(i) Actually in the merge function (helper for mergeSort), you can exit the while loop earlier, instead of using &&, you can use || (OR) instead because you are presuming to use two sorted arrays as the function arguments anyway (otherwise, the two-way merge will not work). What that means is, if any one of these arrays are already part of the final merged Array (i.e. we have traversed through at least one of the two arrays, that means we can simply concat the other array which still has elements not added to the merged Array, to the end of it, without any further thought).

(ii) The concat method can be used like this instead of two concats.

```
const merge = (arr1, arr2) => {
let i = 0;
let j = 0;
const mergedArr = [];

while (i < arr1.length || j < arr2.length) {
if (arr1[i] < arr2[j]) mergedArr.push(arr1[i++]);
else mergedArr.push(arr2[j++]);
}

return mergedArr.concat(arr1.slice(i), arr2.slice(j));
};
```

jayantasamaddar
Автор

I have seen a lot of different stuff but this one is the best! 2 hours well invested. Bravo and thank you for these crystal clear explanations!

chachacha
Автор

EDIT: n^2 means n squared.
Here is a better explanation for O(n^2) for anyone who didn't understand the one in the video. For loop is a O(n) operation. A for loop inside a for loop is also a O(n) operation. The inner loop iterates as many times as the other loop iterates, so n*n, which is O(n*n). And n*n = n^2.
EDIT 2: n^3 is just n*n*n

BusinessWolf
Автор

Trust me this is the best video for understanding O notation I have ever watched.

mithilmehta
Автор

best 2 hours i have spent on any course at all now i can say i understand the Big O notation

aroicx