Complete Beginner's Guide to Big O Notation

Поділитися
Вставка
  • Опубліковано 14 гру 2024

КОМЕНТАРІ • 280

  • @petercannon1865
    @petercannon1865 5 років тому +101

    This has to be one of the best, most thorough, beginner friendly, and most simple ways of explaining this subject. Most other tutorials brush past that clear explanation you delivered with the initial graph and end up losing their audience in a swamp of technical jargon overload to the point where they give up. Thank you for your clarity on this important topic!

    • @ColtSteeleCode
      @ColtSteeleCode  5 років тому +12

      Thanks, Peter! Big O is tough to teach, but that's what makes it fun to me. I think the topic itself isn't all that exciting, but it's fun to try and come up with ways to explain such a dense/technical thing.

    • @DanT-iu6oc
      @DanT-iu6oc 5 років тому +2

      this completely explains hacker rank's shitty explanation. that woman is an absolute idiot explaining nonsense

    • @rodanm
      @rodanm 5 років тому +2

      @@DanT-iu6oc Bro, dont be a pussy nor hater..
      Colt, sorry for making fight here, just defending humanity and education.

  • @majia
    @majia 2 роки тому +13

    I could cry, thank you so much. This is the first time Big 0 has ever made sense to me. I cannot thank you enough, you're an excellent teacher. Thank you for starting with the benefits of Big O (the why we need it) before jumping into to the hows. I'm always a why person and most folks just jump into teaching you how to find it. The visual graph in the beginning for someone whose background is not in math was extremely helpful.

  • @go_all_the_way
    @go_all_the_way Рік тому +2

    I'm a self taught developer getting ready for technical interviews. This video is the best one on UA-cam covering big O notation

  • @stockmarketinvestingforeve6263
    @stockmarketinvestingforeve6263 5 років тому +45

    This is by far the best explanation I've seen/read/heard.

  • @andriitynok3897
    @andriitynok3897 5 років тому +177

    The best explanation of Big O I've found so far :) Thanks

  • @jstn7659
    @jstn7659 4 роки тому +2

    I've graduated with a computer science degree and never really understood Big O until now. Thank you so much. It was always so confusing from my professors

  • @Engbic
    @Engbic 4 роки тому +2

    This is the best video to start with if you wanna know about Big O notation from zero knowledge of it. Thanks Steele

  • @hyrdeshgangwar
    @hyrdeshgangwar 4 роки тому

    If you know nothing about time complexity .. this is the perfect video ... explained in the most easiest way possible ...

  • @robinwarden3864
    @robinwarden3864 4 роки тому +2

    This video has helped me sooooo much!!! No one else could clearly explain to me what Big O actually was. You've officially succeeded in translating the Japanese.

  • @Shad1991
    @Shad1991 3 роки тому

    thats why he's the best..takes complex topic and makes it seem so simple...God bless you Colt

  • @masoudmokhtari3904
    @masoudmokhtari3904 5 років тому +13

    This is one of the most intimidating CPSC subjects in our engineering program. I was also asked questions about this in a firmware validation job interview. I really wish you had covered this when I was taking that CPSC course. You are a year late! 🤣 thanks for the great content and your top notch courses on Udemy.

  • @AkatsukiRen8
    @AkatsukiRen8 Рік тому

    BEST explanation of Big O I've found. Thank you SO much! --From someone who didn't take decent math in school

  • @Allthingslearningg
    @Allthingslearningg 4 роки тому

    I read a comment that this is the best video on big o notation, now I agree. He was simple and to the point perfect for noobies or even intermediates. Thanx Colt. I'd love to see more videos on different topics of programming and competitive programming.

  • @falconiere
    @falconiere 3 роки тому

    This is the best explanation I've seen in my life about Big O notation. You are the best!

  • @narasimharao7007
    @narasimharao7007 4 роки тому

    i have searched for too many videos for BIG O, but after seeing this i got answer for BIG O thanks a lot bro

  • @robertsiepkowski6479
    @robertsiepkowski6479 5 років тому

    I watch dozens of different teachers on many different platforms and you are the only one who seems to keep me engaged. I can't pinpoint what makes you so much better, but I just learn from you and I actually finish your videos and understand what the heck you're saying. You truly have a gift Colt. We are very lucky you decided to become a teacher. Thank you for all that you do.

  • @zizothegreat2769
    @zizothegreat2769 5 років тому +15

    I am currently taking your MySQL class on Udemy. I surprisingly stumbled on this video and was like waiiiit a minute, I know that voice lol

  • @landrybenimana7183
    @landrybenimana7183 3 роки тому +1

    This is the best explanation video I've run across so far, super simple and to the point

  • @fwame6187
    @fwame6187 Рік тому +1

    quick reminder than o notation denotes how quick something becomes *eventually*: if your n is always between 1 and 20 an O(999n) will always perform worse than O(n^2).

  • @AF-bn3ps
    @AF-bn3ps 5 років тому

    WONDERFUL video!! I’m a beginner coding student and this video was THE MOST helpful and easy to follow and understand video I’ve found. Well spoke and very clear. You explained everything in simple terms with wonderful graphics. Thank you!!!

  • @pilatec
    @pilatec 4 роки тому

    The Big O notation concept felt abstract and complicated to me until i came across Colt's explanation. I'm like, "how could i have not understood this!". Thank you so so so much man!

  • @dentsu_
    @dentsu_ 4 роки тому

    Thanks. After looking for an actual coherent explanation all day, I have found your video. Hopefully future students find this video first

  • @jpcampbell
    @jpcampbell 5 років тому

    Probably the thing they hammered into us most at college. I’m glad they did.

  • @repolly1000
    @repolly1000 4 роки тому

    wow! this was incredible! I got here after seeing a different video explaining Big O and I was kinda panicking because I didn't understand it at all, and here you explained it really well, really accessibly.

  • @moe8438
    @moe8438 4 роки тому

    I never comment on videos but after yelling Yes! as I answered your really easy questions at the end, I felt really "fuzzy" inside. Thanks for making this!

  • @arteria6536
    @arteria6536 3 роки тому

    Thank you so much! Finally! Someone who can make this topic seem easy to understand.

  • @Abhi-oo9ki
    @Abhi-oo9ki 4 роки тому +1

    Seriously, one of the best tutorials on Big O notation. Really liked it a lot!

  • @EdmundAlynJones
    @EdmundAlynJones 4 роки тому

    You’re explanation is great. However, your design and color combos for this presentation are BANGING! Looks so good.

  • @V99.2
    @V99.2 5 років тому

    So many videos I watched to understand BigO. This is the best. Practical and visual examples... Grate work. Thankyou...

  • @gobraz
    @gobraz 4 роки тому +4

    This is the best explanation I've seen.

  • @skilz8098
    @skilz8098 4 роки тому

    I find that the easiest way to understand Big O notation is based on 2 important concepts. One of them pertains to regression! If you remember from your Algebra days when you plotted a bunch of points and you had to use regression to approximate either a line (linear equation) a smooth curve either it be a polynomial with an order of exponent that is greater than 1, exponential, logarithmic or sinusoidal, there is almost a direct correlation between the concepts of Regression in mathematics and Big O notation. When it comes to Big O notation the most common forms are O(1) - constant time, O(n) - linear time, O(n^2) - quadratic time, O(n^m) : m > 1 polynomial-time including quadratic time, O(log n) logarithmic time and O(n log n) combinational between linear and logarithmic time. As far as I know, I have never seen any kind of computational algorithm that is sinusoidal or trigonometric such as O(sin n) or O(tan n)...
    The second part pertains to which term of your expression grows the fastest or has the highest rate that is of importance and all other lower order terms and constants are irrelevant. For example; if we have a function that has the operations that satisfy this time complexity expression: T1 = 3n^2 + 2n + 6. The overall time complexity is simply T1 = O(n^2) and it is quadratic time. The reason for this is that the term 3n^2 has the highest order of exponent compared to the terms 2n and 6. This means that it will grow much quicker than 2n, and the term 6 is constant as it never changes... So we are left with the term 3n^2. Once you find the term with the highest order of exponent then you can simply ignore the coefficients as they are constant as well! So the proposed definite time signature of 3n^2 + 2n + 6 is easily simplified to O(n^2). This kind of function would be analogous to a double for-loop as if you were traversing through a square matrix with size (n) that has n^2 elements! It is also based on the number of operations within the function! Space complexity is similar however it doesn't pertain to the number of operations that need to be performed, it pertains to how much memory is required to perform that function!

  • @jacsonmiranda
    @jacsonmiranda 5 років тому +10

    searching for this subject on youtube, than I recognized Colt's voice (I took bootcamp course).
    Good lessons as always

  • @sathyanyn
    @sathyanyn 3 роки тому +3

    1:15 the actual content starts

  • @dandandan01
    @dandandan01 5 років тому +1

    This is the best video and explanation of Big O that I've seen and I feel like this should be shown in all CS courses. Thank you so much for this, you've helped me a ton and got yourself another subscriber.

  • @mohithnayak2815
    @mohithnayak2815 4 роки тому

    I got a clear picture of big O basics after watching this video. Thanks!!

  • @benjaminhill5408
    @benjaminhill5408 3 роки тому

    Awesome video. Learned a lot. The video i saw of someone else explaining this i got confused like 1 minute in so i'm so glad i found this video

  • @babatundeololade6765
    @babatundeololade6765 5 років тому +38

    Welcome back Colt.Good to hear that you're almost done with the react course.

  • @armsjarbc8597
    @armsjarbc8597 2 роки тому

    Your a really good teacher, I’m glad I found this video

  • @gingerbeardworkouts2955
    @gingerbeardworkouts2955 5 років тому

    By far the best tutorial on O notation. Take a bow sir. Thanks

  • @ddaanniieellllee
    @ddaanniieellllee 4 роки тому +2

    New to programming and I’m trying to get down the key concepts and big o notation has always been confusing but this is the best explanation I’ve stumbled upon yet! Also noticed on the description you have a springboard boot camp, I’ve been hesitant about dropping bucks on boot camps but I would totally take that if you are still teaching it

  • @ehaltom1
    @ehaltom1 5 років тому

    I watched quite a few videos on this topic and this video is the first one I watched where Big O kinda clicked! Thank you for that.

  • @rinkeshgokulchandani4181
    @rinkeshgokulchandani4181 5 років тому +3

    One of the best introductory videos on Big O Notation and eagerly waiting for the React Course as well as the Webpack Video.

  • @jennyggf3556
    @jennyggf3556 5 років тому

    A LOT better explanation than all the other videos I have seen about Big O Notation!!

  • @ArtyomMe
    @ArtyomMe 5 років тому +2

    Thanks for the video, man. This was very much a Richard Feynman style of explanation. Very helpful.

  • @shankerm3959
    @shankerm3959 5 років тому +1

    This is definitely the best explanation on big-O. Thank you. Subscribed!

  • @saurabhjethi3859
    @saurabhjethi3859 3 роки тому

    So far the best explanation! Have been going through several videos to understand and with the details and examples in this one, this makes it easy to understand! Thank you for this!

  • @RyanTosh
    @RyanTosh 5 років тому +3

    The cats staring into my soul while you talked about subscribing definitely worked...cats are the best strategy.

  • @danielhall6888
    @danielhall6888 2 роки тому +1

    Great video, although I don't get why the 1000 in O(1000n + 50) wouldn't be significant, I get adding is irrelevant, but I would have thought the order of magnitude for multiplication would increase as n rises?

  • @ejiroolokpa4933
    @ejiroolokpa4933 2 роки тому

    Thank you ! I have watched many other videos, and this video gave me a better understanding of the Big O Notation. Keep up the good work :)

  • @marshallvalentino2572
    @marshallvalentino2572 4 роки тому +2

    This is the best explanation on The big O notation that I've found so far!

  • @razercrest_tesla
    @razercrest_tesla 5 років тому +133

    "It's up and down, it's hot and cold, it's yes and no" - lol

    • @SouravendraKrishnaDeb
      @SouravendraKrishnaDeb 5 років тому +1

      mah boi's a rapper

    • @AM-qx3bq
      @AM-qx3bq 5 років тому +24

      ​@@SouravendraKrishnaDeb It's a reference to Katy Perry's Hot n Cold. Don't ask why I know that.

    • @SouravendraKrishnaDeb
      @SouravendraKrishnaDeb 5 років тому +2

      @@AM-qx3bq xD thanks, not judging you lmao

    • @nerikacutie283
      @nerikacutie283 4 роки тому +3

      you're in and you're out

    • @cyberstrike19791
      @cyberstrike19791 4 роки тому +1

      It's in and its out... its wrong and its right... black and its white... damn it just doesn't know, should it stay or go??!!!

  • @ZKlabunde
    @ZKlabunde 4 роки тому

    Colt is the best instructor! Amazing to see you making videos man! I miss teaching with you!

  • @spacex6997
    @spacex6997 Рік тому

    Thanks for the demo, this explains things really simply!
    10:52

  • @danielszalok8540
    @danielszalok8540 5 років тому +1

    Best video on UA-cam about the subject. Well done!

  • @cjleee4fun
    @cjleee4fun 4 роки тому

    This is just so good! Crisp and to-the-point. Am subscribing

  • @Ravetoon
    @Ravetoon 5 років тому +2

    Great explanation and breakdown of the examples. I definitely have a better grasp of Big O Notation now.

  • @sallaklamhayyen9876
    @sallaklamhayyen9876 3 роки тому

    Short concise and informative content thank you Colt

  • @Fer-jf3pl
    @Fer-jf3pl 4 роки тому

    Wow best Big O explanation on UA-cam. Thanks!

  • @alphonseprakash7459
    @alphonseprakash7459 4 роки тому

    its literally the best big O videos present on youtube thanks.... : D

  • @xanvong1501
    @xanvong1501 4 роки тому

    Thank you ! you make it very easy and simple to understand the Big O notation which it's complex !

  • @durianjaykin3576
    @durianjaykin3576 4 роки тому

    My teacher forced me to watch this, no regrets though :) Very useful and does not make me feel sleepy

  • @saml642
    @saml642 4 роки тому

    I'm taking a computer science fundamentals course and have zero experience in programming, so this section about big O is just so confusing to me. But at least now I finally understand the practical use and these examples in my book make more sense!

  • @samvmsvm
    @samvmsvm 4 роки тому

    Thanks for making this video! It's really easy to follow and understand.

  • @tacoanime1711
    @tacoanime1711 5 років тому

    This was such a great video! I attempted to take discrete mathematics in college (and will be retaking it next semester) but I just couldn't wrap my brain around the concept of Big O Notation. Yet with this video, I was able to follow along and understand everything. I went ahead and purchased your JavaScript Algorithms and Data Structure course on Udemy, and so far I'm really enjoying it!
    Can't wait to see future videos :) Keep up the good work!!

    • @ColtSteeleCode
      @ColtSteeleCode  5 років тому

      Trash Editing thanks for the feedback! I hope you enjoy the algorithms course,. Out of all the courses I’ve made, that one was the most fun to write/record. It’s a real challenge to teach the abstract concepts in a way that doesn’t bore people to death or lose them along the way. I don’t know how well I succeeded, but I tried!
      As far as your note on the audio quality...do you have any specific suggestions for the EQing? Are there specific ranges or noises that are standing out to you? Not sure exactly where to start 🙂

    • @tacoanime1711
      @tacoanime1711 5 років тому

      ​@@ColtSteeleCode Well so far good job! I'll be sure to leave feedback once I complete enough of it. :)
      As for EQ, I actually removed my comment about it because after I wrote it, I realized that a) my UA-cam volume was halfway down and b) my audio interface was still monitoring my condenser mic, so it was affecting my sounds. The EQ sounds fine now (maybe some higher frequencies and lower midrange would help with adding some crispiness and warmth, but that would be nitpicking, it's fine as is.), sorry about that!
      If anything, I would be more concerned about some clicking noises that I occasionally here, as well as some clipping. There are VST plugins (such as iZotope's RX plugin which is what I use) that specialize in audio recording errors. And if you're using Adobe Audition, there are some repair features you can try out. Also recording with a lower gain can help solve clipping issues, just make sure to compress & normalize your audio in post (I like to normalize to -1db, but you can experiment with that value). Hope that helps somewhat!

  • @DanT-iu6oc
    @DanT-iu6oc 5 років тому

    Colt you are doing God's work my friend, keep it up you AMERICAN HERO

  • @leonard7065
    @leonard7065 5 років тому

    best explanation of Big O, been searching for a clearer explanation of the subject, thank you sir!

  • @tomascanevaro4292
    @tomascanevaro4292 5 років тому +1

    Helped me a lot to understand my algorithms course in collage. Thank you so much!

  • @madpassager607
    @madpassager607 5 років тому

    this is the best way to define anything great job Sir!!!

  • @jaweedakhtar
    @jaweedakhtar 5 років тому +1

    Phenomenal - great explanation of Big O .

  • @jachimikeonuoha5447
    @jachimikeonuoha5447 5 років тому

    Great Video! I now understand Big O so much better 👍🏾

  • @rupeshvislawath
    @rupeshvislawath 5 років тому +1

    I really wish you were my teacher in grad college... Such an amazing simplification of the concept!

  • @4eversuju
    @4eversuju 5 років тому +1

    Hey Colt! Is it possible to share the slide on how you derived the mathematical formula? I always struggle with deriving formulas myself so if I can see how you do it, it would greatly help in my software development journey. Thank you!

    • @squiji9750
      @squiji9750 2 роки тому

      Respond to this please ;-;

  • @SarthakGupta
    @SarthakGupta 4 роки тому

    Now I came to know why they teach Quadratic equations, logarithm, linear equations etc in school.
    I thought that those things are useless for a Web Dev.
    Hats Off to Colt!

    • @skilz8098
      @skilz8098 4 роки тому

      As much as you would like it to; math never goes away!

  • @chenarabdulla8981
    @chenarabdulla8981 5 років тому

    Thanks so much for this awesome explanation. I struggled a lot understanding this Big O notation, but you made my day. Thanks again.

  • @ekings2119
    @ekings2119 4 роки тому

    Thank you so much. The little exercises at the end are surprisingly helpful.

  • @davidjfertitta4050
    @davidjfertitta4050 4 роки тому

    This was an awesomely clear explanation. Thanks!

  • @thismoment57
    @thismoment57 4 роки тому

    Brilliant! Superbly explained! Thank you Colt!

  • @DaveJones876
    @DaveJones876 Рік тому

    I'm confused. In the timing graph @5:33 you said that the process is getting slower as we went from n=4 to n=5. But, how can it be slower when the process, according to the curve, is taking less time? The amount of time elapsed has decreased. So, how can it be slower? What does time elapsed represent?
    Is it the time between the ending of processes? Say the time between the ending of a process where, for example, n= 3 and n = 4?
    If time elapsed DOES represent the time between completion of processes for different values of n, and the elapsed time recorded, has decreased between n= 4 and n = 5 wouldn't that mean that the process has gotten faster and not slower?

  • @jamesmiller2521
    @jamesmiller2521 4 роки тому

    Your explanation is the best! Thanks a lot!

  • @daveeddrumz5097
    @daveeddrumz5097 2 роки тому

    This video has been really helpful, Thanks so much

  • @hcbpassos
    @hcbpassos 5 років тому

    Your didactic is insane. Keep the great work.

  • @karemkhaled2361
    @karemkhaled2361 2 роки тому

    Thanks for your effort, it so helpful for the beginners

  • @bigtimbers9025
    @bigtimbers9025 5 років тому +2

    Life always finds a way.
    This was a great explanation! Thank you!

  • @damirko
    @damirko 5 років тому +2

    Great intro video to the Basics of Big O Notation. I look forward to seeing more on this subject. Ty for taking the time to make and post it.

  • @thomasebel7824
    @thomasebel7824 5 років тому

    Awesome video! First time I understood this concept. Thanks a lot!

  • @99Pakii
    @99Pakii 4 роки тому

    i loved your way of teaching

  • @tedfitzpatrickyt
    @tedfitzpatrickyt 2 роки тому

    Thanks Colt. One note: exponential and factorial time complexities are slower than quadratic, so technically quadratic isn't the "worst nightmare"

  • @mr.bucketdrums2080
    @mr.bucketdrums2080 4 роки тому

    16:22 ; is the purple line labeled correctly? O(n log n) shouldn't have such a rapid growth pattern, right? Is that supposed to be O(n^2) for purple then O(a^n) for green perhaps?

  • @thedbzr213
    @thedbzr213 4 роки тому +5

    Dude! oh my goodness that totally helped it “click”! Thanks for the video it was short but very clear and understandable. Totally getting a sub from me thanks again!

  • @ivammagalhaes7155
    @ivammagalhaes7155 3 роки тому

    Great explanation, Colt!

  • @gixxerblade
    @gixxerblade 5 років тому

    Best video on BigO notation. Thank you!

  • @techchak9916
    @techchak9916 5 років тому +2

    i am waiting for ur react course and will definitely enroll in it

  • @tatjanaburdett2854
    @tatjanaburdett2854 3 роки тому

    Life saver as always!!! Great video!

  • @julienbonnier5162
    @julienbonnier5162 2 роки тому

    Good video. What if we have 3 nested loops? Could there be a O(n^3) or we still use O(n^2)?

  • @ItsDaShin
    @ItsDaShin 4 роки тому

    Where can I see the derivation on the formula at 3:18?

  • @Ronium22
    @Ronium22 5 років тому +12

    Man, I remember when you used to hate on cats. Glad to see you’ve seen the light ;)

  • @zyenapz
    @zyenapz 4 роки тому

    Thank you for the simple explanation! I have subscribed to your channel!

  • @godspeedmacias9799
    @godspeedmacias9799 5 років тому

    Best explanation I found, thanks

  • @rahulpurohit9612
    @rahulpurohit9612 5 років тому

    Thanks Colt for your good courses.

  • @ruby2thursday
    @ruby2thursday 3 роки тому

    this was super insightful. thank you!