Тёмный

Introduction to Big-O 

WilliamFiset
Подписаться 180 тыс.
Просмотров 280 тыс.
50% 1

Опубликовано:

 

8 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 86   
@0215story
@0215story 6 лет назад
I think there is a typo around 11:25. It should be 3n*(40 + n^3/2) = 3n * 40 + 3n^4/2. Isn't it?
@WilliamFiset-videos
@WilliamFiset-videos 6 лет назад
Oops! I can't multiply it seems ;P The overall answer is still O(n^4) though.
@0215story
@0215story 6 лет назад
you mean it's not a typo? :)
@WilliamFiset-videos
@WilliamFiset-videos 6 лет назад
byeonghan baek Sorry that's what I'm trying to imply, you're correct.
@0215story
@0215story 6 лет назад
Thanks! Your vedio are very useful and clear explaining ! 😄
@siddhartharoy5263
@siddhartharoy5263 4 года назад
@@Ruturaj22 😂😂😂😂
@joe44850
@joe44850 6 лет назад
Nice comments, everyone seems to understand this. It's always refreshing to find I'm still the dumbest guy on youtube.
@Linusovic
@Linusovic 6 лет назад
hahahhaha
@alottafugina9116
@alottafugina9116 4 года назад
Are you homeless now? Did you give it all up?
@joe44850
@joe44850 4 года назад
@@alottafugina9116 No, I fooled a company into hiring me and now I write a lot of quadratic methods.
@alottafugina9116
@alottafugina9116 4 года назад
@@joe44850 then I guess now I am the dumbest on RU-vid.
@PickleRickkk-cy9xb
@PickleRickkk-cy9xb 7 месяцев назад
​@@alottafugina9116 Hey, are you homeless now? Did you give it all up?
@Vennard98
@Vennard98 4 года назад
This is the first video I've found that actually shows how to find the function of a method. Every other video just goes straight to the math and graphs (which I do understand) however without explaining relation to the code, so this is a life-saver considering I have an exam in 1.5 hours and couldn't figure this out for the life of me. Thank you so much!
@yuvrajanand1991
@yuvrajanand1991 Год назад
Bro, and u r writing comments here😂
@ajayboseac01
@ajayboseac01 3 года назад
Big-O doesn't necessarily only indicate the worst case. It indicates the upper bound of the function. Big-O, omega and theta can be used interchangeably to indicate worst, best or average time complexity.
@kaustubh_ramteke_07
@kaustubh_ramteke_07 2 года назад
so what's the point of theta, omega
@supriyamanna715
@supriyamanna715 2 года назад
coming here after Abdul bari;s videos!!
@supriyamanna715
@supriyamanna715 2 года назад
@@kaustubh_ramteke_07 In some cases, you can't get the exact average case (that is big theta), there you have to use the other two to get an idea. here omega is the upper lower bound and the big O is the upper bound, when both are same (or at least converging to the same point/functions) we can say that the average case (theta) is the same. Big O is upper bound of a function, and if I run an algo which is giving me the upper bound for a particular case(let's say worst case): I can at least derive big O and big Omega So as a verdict, on a function, we can get any case depending on the algo used.
@rohangowda2001
@rohangowda2001 Год назад
true!
@dustinspencer8593
@dustinspencer8593 2 года назад
Great video! I am going through your playlist as a refresher before I start my masters program. Thank you for creating them. With respect to Big-O notation, however, I believe that you have made a small mistake with semantics. Big-O does not necessarily represent worst-case. Worst, average, and best case generally refer to the state of the input data (i.e., best case for a sorting algorithm would be the scenario where the data is already sorted). Big-O, on the other hand, represents an upper bound on how much time the algorithm will take to process an arbitrarily large input. At least, that is how I understand it.
@williammyers3706
@williammyers3706 5 лет назад
Thanks Bill. This is the proper level of introduction for one of my CS classes.
@AntonMiasnikov
@AntonMiasnikov 5 лет назад
Thank you, human. It is the best short explanation I found on the net.
@alexcons
@alexcons 7 лет назад
Thanks for the video, great tutorial as always!
@shmasshah
@shmasshah 5 месяцев назад
did you get anything out of this? job anything or left it after 4 videos?
@anokaggrey3109
@anokaggrey3109 2 года назад
Best Big O video I have come across so far.
@donnguyen5164
@donnguyen5164 6 лет назад
Great examples and explanations!
@deepak1725
@deepak1725 6 лет назад
too good... finally understood with practical examples
@sabergun
@sabergun 5 лет назад
I like that my maths is bad and I can still follow this, credit to the author for that - thanks.
@codewarrior7072
@codewarrior7072 7 лет назад
Refreshing and easy to follow tutorial, thank you!!
@shubhamjain3151
@shubhamjain3151 4 года назад
8:28 it should be multiplied by n because we are not considering the time for outer loop... Nsquare is only for inner loop... Please explain me
@jesso6670
@jesso6670 3 года назад
N multiple by n square which is largest among two is n square
@architect8675
@architect8675 5 лет назад
WELL; you're an exellent teacher.
@Tholkappiar
@Tholkappiar 2 года назад
You deserve a reward👍🏻👍🏻👍🏻
@aritram1903
@aritram1903 7 лет назад
Nice tutorial...thanks
@_Anna_Nass_
@_Anna_Nass_ Год назад
Taking notes in the comments to feed the RU-vid algorithm: Complexity= How much time and space does your algorithm need to finish. Big O Notation only cares about the worst case. It gives an upper bound of the complexity as the input size becomes arbitrarily large.
@goodvibes1581
@goodvibes1581 2 года назад
Best as always
@kritikumari4038
@kritikumari4038 6 дней назад
in which language is this series in?
@esa2236
@esa2236 6 лет назад
9:04 is a famous algorithm search function. I think I get why you disregard the first half or second half because according to runtime output, the entire for loop will execute regardless whether the value was found or not. To prevent the entire loop from going all the way, and to save time, you change the boundary to mid + 1 or mid - 1 immediately to prevent the entire array from being searched and to save runtime output.
@IamMQaisar
@IamMQaisar 6 месяцев назад
Shouldn't there be "3n * 40" instead of (3n/40)? Also, Inner loop runs 41 times instead of 40 So, Eventually making it, 3n*41 which is 123n. Am I right? 11:30 Eventually answer remains o(n^4)
@Cat_Sterling
@Cat_Sterling 2 года назад
Is there a typo in the Binary Search pseudocode? At 8:36 in the end of the while loop, the variables "lo" and "hi" should be called "low" and "high", correct?
@JG-qs8mx
@JG-qs8mx 6 лет назад
6:27 can you please explain how it is linear time in right while loop? i is incremented by 3 , so the loop won't run n times. so how it will still give O(n).
@WilliamFiset-videos
@WilliamFiset-videos 6 лет назад
As explained earlier in the video we don't care about constant additive and multiplicative factors. Since the loop increments by +3 each time the loop will finish three times faster. This is a multiplicative speedup so it will only require one-third of the operations proportional to n for n/3 total operations. Hence, in big O: O(n/3) = O(n) because we ignore the multiplicative 1/3
@maddcobra1
@maddcobra1 5 лет назад
Thank you WilliamFiset for explaining.
@MustafaAhmedAbduljabbar
@MustafaAhmedAbduljabbar 7 лет назад
Great video thanks :)
@JorgeAmengol
@JorgeAmengol 2 года назад
1:05 Although largely used by computer scientists, I think those notations were invented by mathematicians.
@tilakmadichettitheappdeveloper
By dominant, you mean the term in the polynomial with the highest degree , dont you ?
@WilliamFiset-videos
@WilliamFiset-videos 7 лет назад
Yes, that's correct! But it could also mean another stronger term such as 2^n or n!
@vophihung1598
@vophihung1598 2 года назад
good job anh
@umairalvi7382
@umairalvi7382 4 года назад
I was expecting that you will explain why the complexity of binary search is logn.
@MrHatoi
@MrHatoi 6 лет назад
Small typo around 3:30, it says quadric instead of quadratic.
@WilliamFiset-videos
@WilliamFiset-videos 6 лет назад
Noted and fixed in my slides, thank you!
@Aman-nw1jp
@Aman-nw1jp 6 лет назад
lol
@dejiomofaiye5660
@dejiomofaiye5660 4 года назад
In big O example where there are two for loops where the inner loop starting value j is sets to i. I want to believe the j value will now be 1. And also the question of what is (n) + (n -1) |+ (n-2) etc how did (n-1) become(n+1) and why are you dividing by 2
@zahideduardoz5099
@zahideduardoz5099 Год назад
Same question haha
@danimanabat5791
@danimanabat5791 4 года назад
Thank you!!
@akashsinghal1073
@akashsinghal1073 Год назад
ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-zUUkiEllHG0.html at 8:23 time i understand for inner loop time complexity should be "n(n+1)/2" but shouldnt we multiply external loop "n" complexity to make it n3 ?
@cablu1
@cablu1 4 года назад
Around 11:25 where it's 3n*(40+n^3/2) breaking down the problem it makes sense: 3n since it's in the outer loop but in the inside loop why is n^3/2, is it because it's nested 2 loops deep? Trying to figure it out but the only logical thing is that it's nested 2 levels deep :/
@ManishKumar-ct4sn
@ManishKumar-ct4sn 9 месяцев назад
Its because j is increased by 2 every time: j=j+2.
@marialynanding6535
@marialynanding6535 Год назад
Can I ask? What does it called on constant time to factorial time I just wanted to know because it is necessary for my presentation I want to share to them what does it called .. Thank you.🙏🏾
@saurabhrudrawar5887
@saurabhrudrawar5887 6 лет назад
can u post another video on this with a some tough examples? i am getting it finally so would like to know it better :)
@anthonyditizio4178
@anthonyditizio4178 4 года назад
thanks
@nickwalton1109
@nickwalton1109 4 года назад
8:21. How does O((n^2)/2 + n/2) get us to O(n^2)?
@hadiyaajumun7900
@hadiyaajumun7900 4 года назад
"practical examples coming up..." can i have the link of your examples plz if there is any? thank you
@mohamedbadrismail4510
@mohamedbadrismail4510 2 года назад
Could you share the slides, plz??
@_productivity__nill_1131
@_productivity__nill_1131 5 лет назад
So, multiplying two for loops will always equal n²?
@WilliamFiset-videos
@WilliamFiset-videos 5 лет назад
No, a single loop doesn't always have a time complexity of O(n), so the product of two loops doesn't always have a complexity of O(n^2) For example the following has a complexity of O(sqrt(n) * n) for (i = 0; i < n; i = i*i) { for (j = 0; j < n; j++) { // some O(1) operation } }
@angel-ig
@angel-ig 5 лет назад
@@WilliamFiset-videos Nop, that's an infinite loop, 'i' will be always 0
@sodapopinski9922
@sodapopinski9922 6 лет назад
I'm sure you heard this before bu you sound like Christopher Welch from Silicon Valley
@feliperesendez2221
@feliperesendez2221 5 лет назад
It's more like Richmond from the IT crew
@eggiweggsi
@eggiweggsi 6 лет назад
Why is J going from 10 to 50 in the last example? Cheers
@WilliamFiset-videos
@WilliamFiset-videos 6 лет назад
Just to throw some spice into the mix. The loop will execute 41 times so it's still a O(1) operation.
@praveenrawat6574
@praveenrawat6574 2 года назад
charlie?
@prowlus
@prowlus 3 года назад
Cast in the name of god ye not guilty
@BubTheOriginal
@BubTheOriginal 3 года назад
Pro tip : Play at 1.5x speed.
@sntshkmr60
@sntshkmr60 4 года назад
Am I the only one who is not able to understand mathematical equation at 4:00?
@Tony-ow9bo
@Tony-ow9bo 4 года назад
For the love of god get something that lets you circle or underline the parts you're talking about. This is for the birds.
@GodSnake001
@GodSnake001 4 месяца назад
I understand nothing☻
@IAmGDUB
@IAmGDUB Год назад
This junk make no sense to me and it's making me mad bro
@jz4079
@jz4079 10 месяцев назад
same lmao
Далее