Big Oh(O) vs Big Omega(Ω) vs Big Theta(θ) notations | Asymptotic Analysis of Algorithms with Example

Поделиться
HTML-код
  • Опубликовано: 20 окт 2024

Комментарии • 204

  • @SimpleSnippets
    @SimpleSnippets  5 лет назад +40

    Guys, if you liked this video & want many more such tech educational videos on this channel then please support me by subscribing to this channel & also share it with your friends too ✌

    • @aryaman5603
      @aryaman5603 5 лет назад

      please make a tutorial on visual basic

    • @killianjayden3949
      @killianjayden3949 3 года назад

      I guess im randomly asking but does anybody know a tool to get back into an instagram account??
      I was stupid lost my password. I would love any help you can offer me.

    • @chandanakoram9836
      @chandanakoram9836 7 месяцев назад

      How can we imagine the value of g(n) to be n,n2 like that

  • @JacobACoulson
    @JacobACoulson 4 года назад +126

    Never stop making videos. This legit prepared me for my exam 100 times better than my professor did. I got an A on the exam because of you. Thank you so much!

    • @SimpleSnippets
      @SimpleSnippets  4 года назад +14

      That's amazing to know Jacob ✌️ super happy for you and your amazing results too. Would be a great help if you could share our channel & videos with your friends too 😊

    • @georgikarastoychev1241
      @georgikarastoychev1241 4 года назад +8

      Yes that is true i can not understand nothing from my professor too. This guy is pure gold learned almost everything from him. Never stop uploading man you are gifted! Thank you for everything

    • @convolutionalnn2582
      @convolutionalnn2582 3 года назад +1

      @@georgikarastoychev1241 How can i be Software Engineer after 12 th commerce?

    • @GodOfFools
      @GodOfFools 10 месяцев назад +1

      It's been 3yrs and this saved my life

  • @exodia_right_leg
    @exodia_right_leg 2 года назад +8

    I have not even watched the video yet and I already know this this the best video I have every seen. I legitimately screamed in joy when I realized this was a Simple Snippets video.

  • @mjamal12345
    @mjamal12345 3 года назад +12

    the most thoroughly and easily explained tutorial I have ever seen. Thank you a bunch!

  • @peanutsee
    @peanutsee 3 года назад +15

    7mins into the video, I understood Big Oh better. Well played.

  • @mortezarezaalipour9666
    @mortezarezaalipour9666 3 года назад +18

    You are amazing!
    Straight to the point!
    Nice editting!
    I truly appreciate it :)

  • @amoswasike7484
    @amoswasike7484 3 года назад +3

    Thank you very much, after having tried much to grasp what my lecturer explained with no success, yours has just been through. Keep up the good work!

  • @funkemoney
    @funkemoney 7 месяцев назад +1

    I'm glad I watched this after several videos. Thank you so much

  • @nicklloyd3090
    @nicklloyd3090 4 года назад +21

    You are 3x better at explaining this than my college professor at ASU. You should be making the absurd tuition money she does

    • @SimpleSnippets
      @SimpleSnippets  4 года назад +6

      Hehehe whats the full form of ASU ? which institute is this ?
      I wish I made that kinda money but surely in time I will earn a lot too. Right now my only goal is to provide high quality education to everyone 😇

    • @brianayon1461
      @brianayon1461 4 года назад +1

      @@SimpleSnippets Most likely Arizona State University, I feel the same way

    • @frederickrichter1426
      @frederickrichter1426 4 года назад +3

      I am also a student of discrete mathematics at ASU who is finally getting a clear explanation. Thank You!

    • @SimpleSnippets
      @SimpleSnippets  4 года назад +1

      👍

    • @SimpleSnippets
      @SimpleSnippets  4 года назад +2

      That's great to know Fredrick 😊

  • @User1-6t
    @User1-6t 9 месяцев назад +1

    Thank you, teacher. we stand with you

  • @samuelmaina6659
    @samuelmaina6659 11 месяцев назад +1

    watching from Africa kenya. im already a teacher now because of this tutorial

  • @Insan123_
    @Insan123_ Год назад +1

    your explanation is the best!!! Thank you a lot!

  • @atlanta2203
    @atlanta2203 Год назад +2

    Thank you so much for this! Honestly saving my exams by explaining it so clearly I finally understand :')

  • @nerodant85
    @nerodant85 2 года назад +1

    Thank you for the video, I finally understand the concept because of you, thank you again !

  • @CursosIcarnegie
    @CursosIcarnegie 3 года назад +2

    Hey Bro you saved me my máster course your explanation is awesome, God bless you regards from México

  • @yomnahamed7147
    @yomnahamed7147 3 года назад +4

    Thank you so much . I really appreciate your works

  • @aleksandraaa2010
    @aleksandraaa2010 Год назад +1

    Thank you some much for this video!! Thanks to you in 30 min I understood perfectly what my professor didnt explain properly in 10 hours :))

  • @alexandraherr9530
    @alexandraherr9530 Год назад +1

    This is a life saver man, thank you!!

  • @moshibudimathabatha2611
    @moshibudimathabatha2611 2 года назад +1

    Well explained

  • @konodioda1268
    @konodioda1268 2 года назад

    Thanks, this will surely help me out in my midterm

  • @ketchup7867
    @ketchup7867 5 месяцев назад

    I love it - my professor should learn from you

  • @geschichte4u251
    @geschichte4u251 Год назад +1

    Thank you, men. Really helped me

  • @Sunny-qe5el
    @Sunny-qe5el 3 года назад +1

    Quite exemplary and to the point.
    Thanks for your work.

  • @poisonedrice
    @poisonedrice 2 месяца назад

    Thank you, excellent explanation

  • @youssefmohamed-jt8qp
    @youssefmohamed-jt8qp 2 года назад +1

    thanks bro really you are a legend

  • @twinkleshaw693
    @twinkleshaw693 Год назад +1

    best video ever found ❤

  • @availkrishmytube
    @availkrishmytube 3 года назад

    This covers theory quite well unlike other videos

  • @prempresents8776
    @prempresents8776 Год назад +1

    In big o notation what is c constant, like u took c as 5 in example so how we have take and what's it's role I'm not understanding 😶

  • @MegaDoc360
    @MegaDoc360 6 месяцев назад

    Excellent explanation.

  • @muktagavli1106
    @muktagavli1106 2 года назад +1

    Very good lecture

  • @DavidParathyras
    @DavidParathyras Год назад

    Your explanation is excelent!

  • @Albert-of4pg
    @Albert-of4pg 4 года назад +6

    hi, just a little suggestion: it's better to say f(n) is O(g(n)) or f(n) belongs to O(g(n)) instead of saying f(n) = O(g(n))

    • @jay-rathod-01
      @jay-rathod-01 4 года назад +1

      Have you ever heard of a dialect of English that comes from India. Indian English bro.😁 I am serious

  • @deepakmaidasani1512
    @deepakmaidasani1512 4 года назад +2

    As always amazing video and very nice explanation. Thank you so much!

  • @shreyaskulkarni526
    @shreyaskulkarni526 3 года назад +2

    Thanks for this video bro...

    • @SimpleSnippets
      @SimpleSnippets  3 года назад +1

      Most welcome Shreyas, please do share the videos & our channel with your friends too. Thats the biggest help and support you can give back to this channel! 😇

  • @vaishnavinandane4050
    @vaishnavinandane4050 8 месяцев назад +1

    best explain....u r amazing😃

  • @saladisatyanarayana7166
    @saladisatyanarayana7166 4 года назад +3

    carry on broo..... ur explaination was awesome

    • @gloryleonard224
      @gloryleonard224 3 года назад

      Am even using the tutorial to prepare for an exam this morning and is so helpful

  • @certifiedsmartass4122
    @certifiedsmartass4122 Год назад +2

    I have a doubt. If we need to find the closest fit to the best case time like you said, then shouldn't Big-Omega(n) have the constant as 2 instead of 1??
    2n < 2n+3 always
    Instead of 1n as 2n is a closer fit. Please tell me if I'm wrong with reason

    • @sangodan3031
      @sangodan3031 Год назад

      With big omega you don't actually need to write what constant you use, whether it's 2n or 2000n it's still just O(n), you just have to find any constant to satisfy g(n) being bigger after n0 and you're set

    • @certifiedsmartass4122
      @certifiedsmartass4122 Год назад

      @@sangodan3031 You're right mate. Thanks.

  • @abhinavl999
    @abhinavl999 2 года назад

    superb explanation

  • @mellonviskaino9537
    @mellonviskaino9537 2 года назад +1

    u r amazing. Thank u soooo much

  • @ahmadxgame8885
    @ahmadxgame8885 Год назад

    at 6:10 why did consider that c =5 but when n was powered by 2 we consider c =1 at 11:20 ?

  • @satya5072
    @satya5072 3 года назад +2

    Excellent video...
    I am waiting for this type of lectures.. 🤩🤩🤩🤩

  • @amrutachavan7686
    @amrutachavan7686 4 года назад +1

    I like your ds lecture now I will complete your ds course thank you I am last year student

    • @SimpleSnippets
      @SimpleSnippets  4 года назад +1

      Glad you liked it! Please support me by sharing the videos and our channel with your friends too. Thats the biggest help and support you can provide 😇

    • @amrutachavan7686
      @amrutachavan7686 4 года назад +1

      @@SimpleSnippets you upload your videos on edyoda learning

    • @SimpleSnippets
      @SimpleSnippets  4 года назад +1

      @@amrutachavan7686 yes I have uploaded some video on edyoda platform 😊

  • @ProBuilder-ck2vk
    @ProBuilder-ck2vk 3 года назад +2

    I don't understand where these constant values are taken from. How do determine if c should be 1 or 2 or whatever? Is it just pick a random number, or are there some logic behind it?

    • @punkgrl325
      @punkgrl325 3 года назад

      You just drop the constants because what matters is the type of operation happening, not how many times it happens. So, O(2n), O(3n), O(4n), etc. can have their consants dropped to O(n), because they're all the same type of operation regardless (linear).

  • @cf0e6d7b83
    @cf0e6d7b83 2 года назад

    Thanks for explanation, nice video !

  • @talahareb5863
    @talahareb5863 Год назад

    literally youtube king

  • @funnyshiittt
    @funnyshiittt 2 года назад +1

    It was amazing. Thank you.

  • @The_Programming-Teacher
    @The_Programming-Teacher 2 года назад

    Thank you very much. You are a hero!

  • @fang8660
    @fang8660 2 года назад

    Incredibly helpful video ~ thank you

  • @_tanujpokhriyal
    @_tanujpokhriyal 3 года назад +1

    Bhaiya from where can i solve DSA questions...? Coz in geekforgeek , interviewbit they have only solution but not explaination (video explaination)

  • @pankajmhaske09
    @pankajmhaske09 3 года назад +1

    Nice explanation, but cases(best, worst and average) and asymptotic notations are two independent terms, like best case of linear search also can be mentioned as O(1).

  • @santoshpalli1989
    @santoshpalli1989 2 года назад

    Nice explanation Sir

  • @tangent905
    @tangent905 6 месяцев назад

    thanks a lot for such a amazing explanation :)

  • @som_girl6702
    @som_girl6702 Год назад

    You rock! Thank you for sharing your knowledge

  • @cinders-and-smoke
    @cinders-and-smoke 3 года назад

    Best video on notations 💪

  • @jamesstark4136
    @jamesstark4136 2 года назад +1

    Thank you! Note: small error on Big theta slide, description says "Big Omega"

  • @availkrishmytube
    @availkrishmytube 3 года назад +1

    Is there a reason why you chose 2n+3 for f(n)

  • @diegoferreirarapaci6856
    @diegoferreirarapaci6856 Год назад

    6:10 in this example what if we consider c=2 ad n=2? We need to desconsider the number without an n quocient for it to work?

  • @georgey4151
    @georgey4151 8 месяцев назад

    THANK YOU VERY MUCH SIR

  • @MD-zw5nl
    @MD-zw5nl 3 года назад

    Finally understood it. Thank you so much.

  • @bhargavnagacharan1899
    @bhargavnagacharan1899 3 года назад

    Best explanation ever ❤️❤️❤️

  • @cheems3202
    @cheems3202 4 месяца назад

    You are a life saver bro

  • @cybermember2939
    @cybermember2939 4 года назад +2

    Sir is f(n) is different algorithm for same problem because u took differ equation for f(n) and g(n), is f(n) is like refrence and we r comparing with g(n) to find best best ,worst and average case?

    • @Kucchuu
      @Kucchuu 4 года назад

      Do not get confuse. Lets clear if f(n) = n^3+n^2+1 then g(n) is some derived portion of f(n) which is impacting your algorithm. Therefore here, g(n) can be n^3 i.e. g(n) = n^3 or g(n) = n^3+n or g(n)=n^3+5 etc. Both f(n) and g(n) belongs to same algorithm.

    • @black_eye7105
      @black_eye7105 2 года назад

      @@Kucchuu I had also the same problem but i can't understand where the g(n) comes from can you explane. you saying derived portion what is derived portion

  • @naweddiwan
    @naweddiwan 2 года назад

    when f(n) = 2n + 3
    Big Omega is Ω(n)
    Big Theta is θ(n)
    But for linear seach algorithm f(n) would also be like f(n) = a*n + b; where a and b are some constants
    Then why Big Omega is Ω(1) in this case?

  • @nitismita1035
    @nitismita1035 2 года назад

    I have a doubt,
    It's that can we get various pairs of c and n which satisfy the f(n)=o(g(n)). i. e for f(n)

  • @gustavrisager8939
    @gustavrisager8939 2 года назад +2

    Within the first 100 seconds this video explained Big-O better than my $200 textbook and my professor… combined.

    • @SimpleSnippets
      @SimpleSnippets  2 года назад

      Haha thank you for this feedback. Would be great if you can transfer that 200 dollars to me 🤣
      Just kidding. Don't need donations. I'm happy that this video helped you 😊

  • @freezinfire
    @freezinfire 2 года назад

    Thank you very much.

  • @liquidred257
    @liquidred257 2 года назад

    So when I saw the example I paused the video and got
    Big O=n
    Big Ω=1
    Big θ= (n+1)/2 (because the average of n and 1 is n+1/2)
    I get why we get rid of the /2 for big θ, as it becomes negligible, so could the same be said of the +1?

  • @RAKSHITHPGBBTCSBTechCSE
    @RAKSHITHPGBBTCSBTechCSE 5 месяцев назад

    why they is a curve in the f(n) line

  • @flipper71100
    @flipper71100 3 года назад +1

    I don't understand one thing in this equation 2n+3

    • @ganashree8342
      @ganashree8342 3 года назад +1

      omg d same doubt flashed to me as soon as he explained it.can someone please explain this.

    • @Oscar-we5ke
      @Oscar-we5ke 3 года назад

      @@ganashree8342 Yeah, I understand what Big O and the others; for easy f(n), it is easy, but the problem for me comes when the f(n) is more complex. I have a lot of issues finding c1, c2, and n0.

  • @codingwithanonymous890
    @codingwithanonymous890 4 года назад +1

    fantastic..pls upload more videos for clearing concept

  • @nitismita1035
    @nitismita1035 2 года назад

    Thanks a lot 🙏Sir. Can you show some questions on this topic.

  • @kodandaraochellapilli6212
    @kodandaraochellapilli6212 Год назад

    Do you have implementation for these concepts. Thank you for your help. It is very clear and simple. It is way better than my university teachings.

  • @ruskindrag9649
    @ruskindrag9649 3 года назад

    Why do we take the closest to f(n) fn as the best case and the worst case scenario ,it has to be the farthest one right?So that for the best case if you take Omega(1) that will be the fastest taking less time compared to Omega(n).

  • @izharkhankhattak
    @izharkhankhattak 3 года назад

    Excellent job, man!

  • @_mobasshir_
    @_mobasshir_ 3 года назад

    So big theta always matches big O?

  • @isaacwamala6836
    @isaacwamala6836 2 года назад

    But please that means all notations just need testing through inputs in order to fulfill their conditions??

  • @thehindu9972
    @thehindu9972 8 месяцев назад

    Hello for big omega
    Why dont we choose g(n) as 1 as 1 is always less than any f(n) so time complexity would be omega(1) for any program

    • @siddharthkumaryadav575
      @siddharthkumaryadav575 5 месяцев назад

      Maybe bcuz it is not closest to f(n). if linear g(n) = n is closer to f(n) then we will choose it instead of 1.
      could be wrong but i think it's the answer.

  • @AnujKumar-ev4fm
    @AnujKumar-ev4fm 4 года назад +1

    really good explanation!
    sir

    • @SimpleSnippets
      @SimpleSnippets  4 года назад

      Glad you liked it! Please support me by sharing the videos and our channel with your friends too. Thats the biggest help and support you can provide 😇

  • @sudakishorekumar
    @sudakishorekumar 3 года назад

    Thanks man for making such an awesome content

  • @mohitsharmagarg
    @mohitsharmagarg 3 года назад

    how to determine c in any algorithm

  • @sunraiii
    @sunraiii 4 года назад +2

    Decent tutorial! Thank you

  • @samarthyapatel2157
    @samarthyapatel2157 2 года назад

    Keep up with the good work, thanks.

  • @omarrefaye3105
    @omarrefaye3105 3 года назад +1

    Very well done

  • @Abinash0323
    @Abinash0323 7 месяцев назад

    Excellent video

  • @AhmedMostafaMostafa-i1b
    @AhmedMostafaMostafa-i1b Год назад

    thanks a lot, you are the best 😍

  • @master4755
    @master4755 Год назад

    For the linear search can't you also have Omega(n) ? When you do the algorithm analysis you will end up with some linear equation such as f(n) = 3n + 2 , we can show its Omega(n) by doing
    3n+2 >= c * n , take c=1 and n=1, it works. The example you gave was theoretically correct , it should at best case be Omega(1) but mathematically following the definitions is it also true to say its Omega(n) too ? This makess the bounding tighter as well

    • @himanshibhardwaj5833
      @himanshibhardwaj5833 Год назад +2

      He has said that there can be many best as well as worst cases.. though there can be many upper and lower bounds but we have to take the closest one that's why it is omega(1). Hope you understood.

  • @sparrowgaming4674
    @sparrowgaming4674 3 года назад

    Why videos are not available in 240p?

  • @mustafag6334
    @mustafag6334 2 года назад

    keep up the great work!!

  • @oliviazhai1831
    @oliviazhai1831 3 года назад

    Thanks so much man

  • @VINEET_
    @VINEET_ 3 года назад

    Hi bro in first line of the definition I think it should be 20:22 Big theta notation

  • @giggleglyphs
    @giggleglyphs 3 года назад +1

    thanks for this video, even thanks for this playlist dude....:)

  • @JV-jc7ci
    @JV-jc7ci Месяц назад +1

    I can tell this is a good teaching video. Just wished the accent was a little less heavy for those who are not Indian. It's very difficult to understand and it's frustrating because I know how intelligent Indians are but can't seem to find videos where they don't speak with such heavy accents. Oh and I'm also Asian btw before anyone wants to pull the race card.

  • @samidelhi6150
    @samidelhi6150 4 года назад +1

    Hi simple , great explanation , would you kindly provide an example out of say ML algos where it is better to use say Big theta relative say to big O and big Omega ? Thanks

  • @Oscar-we5ke
    @Oscar-we5ke 3 года назад +1

    Could anyone help me with this one? I understand Big O and the others, but my problem is finding c1,c2, and n0 for complex functions. Example: n^3/1000 - 100n^2 - 100n + 3. I need to express that one in order of theta notation.

  • @akashdwivedi4716
    @akashdwivedi4716 3 года назад

    thnx for the help brother

  • @isfoo
    @isfoo 4 года назад +1

    Equating O(.) notation with worst-case, Ω(.) notation with best-case and Θ(.) with average-case is incorrect. The O/Ω/Θ notations and "caseness" (worst/best/average) are independent concepts.
    It's a common misconception and I see nobody has pointed it out yet in the comments so I will explain why it's wrong.
    Let's start with that your mathematical definitions of the O/Ω/Θ notations are generally correct.
    Maybe would only highlight the fact that this notations are not exclusive to computer science or algorithms, but just describe the upper/lower/tight asymptotic bounds on the growth rate of a given function.
    Ok so the first minor inaccuracy is that when in 13:51 you have found out that f(n) is O(n) and f(n) is O(n^2) you've said that "when we try to find the O(.) notation we have to find the closest one which matches the f(n)". Well, no we don't have to. We have shown that indeed both O(n) and O(n^2) satisfy the mathematical definition and thus both are true. The reason we prefer the O(n) to O(n^2) is just because it gives as more information (it's a tighter bound).
    Now the big problem. At 24:10 you decided to analyse the time complexity of the linear search algorithm.
    So now it's true that it's Ω(1) and it's O(n), however it's NOT Θ(n). There is actually no function g(n) such that the time complexity is Θ(g(n)).
    That is because indeed Ω(1) is the tightest lower bound (for example it's not Ω(log(n))) and O(n) is the tightest upper bound (for example it's not O(log(n))). So you can see there is no g(n) which satisfies the condition c1*g(n) Θ(1)
    In the average case we have:
    Ω(n) and O(n) => Θ(n) // here we could say it's n/2, but we omit the constants
    So it's worst case Θ(n), best case Θ(1) and average case Θ(n). See that I used Θ(.) notation for each worst/best/average case. And the benefit of using Θ(.) for all cases is that it shows the tight bound. That is for example when we say it's worst case Θ(n) it means that it is not worst case Θ(1) and it is not worse case Θ(n^2).
    When we would use O(.) notation to describe worse case we can indeed say that it's O(n), but it's also true that it's O(n^2).
    So using Θ(.) gives us more information (it "forces" us to give the tight bound).
    This means that we should generally use Θ(.) notation as it gives us the most information. The problem however is that if we want to look at the general case of the algorithm the Θ(.) simply might not exist. So in that circumstance the best we can do is say that in general case this algorithm is O(n) and Ω(1).
    The only algorithms for which we can describe the general case complexity using Θ(.) notation are once for which worst case Θ(.) is the same as best case Θ(.). For example the problem of finding minimum value in n element array is worst case Θ(n), best case Θ(n) and average case Θ(n). So we can say that this algorithm has (in general) Θ(n) time complexity.

  • @ferhadmehdizade4772
    @ferhadmehdizade4772 4 года назад

    Thanks, it helped a lot👍

  • @joshuatorres3342
    @joshuatorres3342 2 года назад

    great video!!!

  • @albertd.bangura3794
    @albertd.bangura3794 2 года назад

    You are great!

  • @CodeHive1
    @CodeHive1 2 года назад

    Great content. Easy to follow and to the point. Wonderful!