What Is Big O Notation?

Sdílet
Vložit
  • čas přidán 31. 05. 2024
  • In this video, we take a look at Big O notation. We go through how Big O notation came about and why it's so useful as a method of measuring efficiency of algorithms. We then go through some examples of you can find the Big O runtime of various algorithms.
    Support: / reducible
    This video wouldn't be possible without the open source manim library created by 3blue1brown: github.com/3b1b/manim
    Here is link to the repository that contains the code used to generate the animations in this video: github.com/nipunramk/Reducible
    Music:
    October by Kai Engel freemusicarchive.org/music/Ka...
    November by Kai Engel
    freemusicarchive.org/music/Ka...
    Cobweb Morning by Kai Engel
    freemusicarchive.org/music/Ka...

Komentáře • 354

  • @DanGM123
    @DanGM123 Před 3 lety +2108

    i love how 3blue1brown has created a new genre

    • @Vicente75480
      @Vicente75480 Před 3 lety +106

      I’ve seen a lot of videos similar to 3b1b’s lately and I love them

    • @evanward5045
      @evanward5045 Před 3 lety +20

      You commented exactly what I and many others were going to comment

    • @S1lentG4mer
      @S1lentG4mer Před 3 lety +10

      I thought this was 3b1b

    • @chrisvinciguerra4128
      @chrisvinciguerra4128 Před 3 lety +48

      Well he did make the Python library that this video used for its graphics so yeah that’s a reason why it’s similar

    • @markgross9582
      @markgross9582 Před 3 lety +2

      Yeah. The animation styles seem similar too, so they may be using his library

  • @tiff4839
    @tiff4839 Před 4 lety +488

    Soo good. You broke down a commonly misunderstood topic in an intuitive and engaging way. I love it!

    • @Reducible
      @Reducible  Před 4 lety +27

      Thanks Tiffany! I appreciate it!

  • @robertpoole9258
    @robertpoole9258 Před 3 lety +171

    A 3Blue1Brown for computer science. Awesome. This might end up being my favourite channel.

  • @revowolf7413
    @revowolf7413 Před 3 lety +157

    I cant understand how youtube isn't recommending these videos. So elegantly explained, and the animations, OMG!

    • @sifsif2725
      @sifsif2725 Před 3 lety +4

      It just recommended this to me xD

    • @astphaire
      @astphaire Před 3 lety +1

      I mean his enunciation isn’t great

    • @Warpadable
      @Warpadable Před 2 lety +2

      Well every people watching this had this recommended... You included. Otherwise how did you find it?
      I agree it is awesome though.

  • @klaik30
    @klaik30 Před 3 lety +100

    Wow, I actually think 3B1B has created a revolution in how we should think of structuring educational videos. I'm willing to bet that in the near future his visualization program and video structure are going to be used by MANY more people and hopefully even inspire some teachers to use his methods in class.
    Amazing work @Reducible! You should think about doing an "Essence of Computer Science" in the future!

  • @nolanfaught6974
    @nolanfaught6974 Před 3 lety +129

    A professor once asked the big O of an algorithm, to which I replied "O(n!^(n!))." He had to admit that I was right, then he rephrased the question as "what is the smallest big-O of the algorithm?" Never forget that a big-O is not necessarily the best bound on an algorithm, just one of many bounds

    • @12-343
      @12-343 Před 2 lety +44

      If the answer to the question is really O(n!^n!), I think whoever wrote it is having a very rough time

    • @Magnogen
      @Magnogen Před 2 lety +48

      @@12-343 it's probably my code tbh

    • @wolfranck7038
      @wolfranck7038 Před 2 lety +3

      If I'm not mistaken, the "smallest big O" is called big theta !

    • @klobiforpresident2254
      @klobiforpresident2254 Před 2 lety +4

      @@wolfranck7038
      Not quite.
      There are O and Omega. Big O is *an* upper bound. Often we mean the smallest (known) upper bound. Similarly Ω is *a* lower bound. Often we mean the largest (known) lower bound.
      When O and Ω are identical then that is called Θ.

    • @wolfranck7038
      @wolfranck7038 Před 2 lety +2

      @@klobiforpresident2254 yeah but if you think about it, the "smallest" big O will be of the same order as the function concerned, thus also being big omega, and it will be in big theta
      Because smaller than that would be only big omega and bigger thant that would only be big O
      (It's clearly not a rigorous explanation but can't do much better in a YT comment)

  • @henryroc1969
    @henryroc1969 Před 3 lety +42

    Easily some of the best computer science videos on youtube and definitely better than my CS professors :). Thank you for putting in all this work!

  • @saulbeck3398
    @saulbeck3398 Před 3 lety +8

    I came to this video with high hopes as you used Manim, yet, I was blown away with how detailed and thorough you were. I paused the video so many times, yet, not only was told what I was thinking, I was told it was normal, to think and ponder on it. I am actually blown away on how you able to teach something so simple that is a basic need for computer scientises in a way that makes me wonder how tf didn't I think of that!

  • @TheEndermanMob
    @TheEndermanMob Před 3 lety +33

    I've seen many channels using manim. Beside its creator, this is the most original and really good one.
    I'm trying to have my own channel where a explain my area with other students, and I'm having trouble programing the animations, so I need to say thanks for this beautiful work of yours.

  • @caloz.3656
    @caloz.3656 Před 3 lety +4

    this is the on video that finally settled my confusion with asymptotic notations. THANK YOU SO. MUCH. THIS IS INSANELY GOOD AND HIGH-QUALITY!!

  • @HienNguyenHMN
    @HienNguyenHMN Před 3 lety +24

    @14:55 "we can actually use this 'symme-tree' to help us"

  • @shubhamsingh-xw3tf
    @shubhamsingh-xw3tf Před 2 lety +1

    Definitely not forgetting Big O notation for a really long time! Excellent video sir! Thanks

  • @AshutoshKumar-de8wn
    @AshutoshKumar-de8wn Před 2 lety

    I love your videos for accuracy and clear content. Please upload videos on different algorithms and shortest paths.

  • @playerscience
    @playerscience Před 2 lety +2

    This is hands down the best explanation of big O notation!!!
    Instantly subscribed to your channel.
    👌👌👌😘😘
    BTW your voice is just like 3blue 1brown!

  • @garr_inc
    @garr_inc Před 3 lety +3

    Never was into computer science, but it feels good to finally understand what the notation actually mean after encountering it in my higher-end math classes from time to time. Thank you!

  • @hiroyukikuwana3105
    @hiroyukikuwana3105 Před 3 lety +1

    Hope your channel keeps growing!

  • @mehtubbhai9709
    @mehtubbhai9709 Před 2 lety +1

    Best explanation of Big O I have come across!

  • @strandedinanisland457
    @strandedinanisland457 Před 2 lety +4

    This is so easy to understand....roughly 2 years ago I tried to gather this information on Computational complexity from a big book and ended up understanding very little.

  • @alexplastow9496
    @alexplastow9496 Před rokem

    Thanks for the time you put into this video, being able to reduce complex things to something I could explain to a highschool student is thrilling in a nerdy way

  • @marpin6162
    @marpin6162 Před 3 lety +177

    who came from 3blue1brown’s post?

  • @dehilihind2916
    @dehilihind2916 Před 2 lety

    thanks for your efforts , I just discovered your channel and it's INCREDIBLY helpful !

  • @dmitriyogureckiy8292
    @dmitriyogureckiy8292 Před rokem

    the best video about O notation, you bring all together, even lim, cool

  • @1DInciner
    @1DInciner Před 2 lety +3

    Was expecting several animations about other big O examples, like exponential one.
    It is very interesting to see them in comparison.

  • @codehorse8843
    @codehorse8843 Před 3 lety +3

    Thanks these are lifesavers for my current course.

  • @ishikuultra3637
    @ishikuultra3637 Před 3 lety +1

    This is the best explanation I've ever seen.

  • @chrislam1341
    @chrislam1341 Před 3 lety

    by far it is the best explanation after years of search.

  • @olanrewajubabalola2322

    BEST VIDIEO ON BIG O NOTATION!!! every other video out there just leaves me more confused. thank you.

  • @rjmbowie
    @rjmbowie Před 3 lety

    Amazing video! Love the use of manim.

  • @ClearerThanMud
    @ClearerThanMud Před 2 lety +1

    Clearest, most complete Big-O video I've seen. Kudos.
    It looks like you used Grant's manim package to create this. I have been thinking of learning manim so I can create a video giving some insight into why the radix sort is so fast. Work doesn't leave me much time for such pleasures, though; you do such a good job with this, if you are interested I can privately explain the insight so you could make the video if it appeals to you.

  • @suzalwakhley5329
    @suzalwakhley5329 Před rokem

    A very simple and detailed explanation. Thank you very much

  • @Xxnightwalk1
    @Xxnightwalk1 Před 2 lety

    Really instructive, as always
    Keep up the amazing work ;)

  • @Bloody_Mary_
    @Bloody_Mary_ Před 3 lety

    Beautiful presentation accompanied with fantastic music of enlightenment!

  • @kaleabfetene6258
    @kaleabfetene6258 Před 2 lety +1

    Such a great video thank you so much I honestly don’t have enough words to thank you appreciate that

  • @lucha6262
    @lucha6262 Před 3 lety +2

    What a great video! Thanks so much!

  • @weirongwu4964
    @weirongwu4964 Před 3 lety +3

    This masterpiece omg thank you so much!

  • @phonylattice2743
    @phonylattice2743 Před 3 lety +2

    Thank you for this amazing video!

  • @erv993
    @erv993 Před 3 lety +1

    Thanks so much! You have invaluable content!

  • @anwarulbashirshuaib5673
    @anwarulbashirshuaib5673 Před 3 lety +3

    How come I noticed this masterpiece so late!? Definitely subscribing!

  • @hotpushupguy4203
    @hotpushupguy4203 Před 3 lety +1

    These are so wonderful - thank you !

  • @isabellelindblad2835
    @isabellelindblad2835 Před 3 lety +4

    This was amaaaazing

  • @hisyamzayd
    @hisyamzayd Před 2 lety +1

    Love how to find big o with graph explanations.. thank you 😀😀

  • @skyslasher6267
    @skyslasher6267 Před 2 lety

    as a junior in cs right now, in my opinion, this is a must watch for all people trying to get a degree in programming

  • @isaacfernandez2243
    @isaacfernandez2243 Před rokem

    Wow, this was incredibly good. Thank you.

  • @givrally7634
    @givrally7634 Před 2 lety +3

    Now I want big O of big O notation, to group like growth rates together : polynomials, exponentials, and so on.

  • @ronaldboulder308
    @ronaldboulder308 Před 3 lety +3

    I remember this topic being explained in algorithm courses very similarly.

  • @FRANKFIFORM
    @FRANKFIFORM Před 2 lety

    Great video!! I’ve always have doubts about this topic.

  • @BeeshoStudying
    @BeeshoStudying Před 2 lety

    you have the best explanation. thanks for the video

  • @sharanphadke4954
    @sharanphadke4954 Před 3 lety +3

    just put some thinking pi's and this literally becomes 3blue 1brown video!!! Really great channel

    • @playerscience
      @playerscience Před 2 lety +1

      Exactly!
      He is the 3blue 1brown of Computer science. 😎🔥🔥🔥

  • @joaquingutierrez3072
    @joaquingutierrez3072 Před 3 lety +1

    I loved this video. Thank you !

  • @snoopy1alpha
    @snoopy1alpha Před 2 lety

    Very well explained! I guess I will quote this video in my next complexity discussion at work :-D

  • @blueskyjavelin2289
    @blueskyjavelin2289 Před 3 lety +1

    This video helped me alot. Thank you:)

  • @NovaWarrior77
    @NovaWarrior77 Před 3 lety +4

    ABSOLUTELY AWESOME I-

  • @hamzaich7034
    @hamzaich7034 Před 3 lety +2

    Maaaaan this is amazing ♥️♥️♥️

  • @eamonnsiocain6454
    @eamonnsiocain6454 Před rokem

    Well presented! Thank you.

  • @jayantverma6196
    @jayantverma6196 Před 4 lety +2

    You are amazing, please upload more videos.

  • @georgeharrisonOK
    @georgeharrisonOK Před 3 lety

    Good video, keep up the good work!!

  • @absolutezero6190
    @absolutezero6190 Před 3 lety +16

    I noticed a small error in your video. You typed two quotation marks in LaTeX at 9:59. They are both ending quotation marks. The way to fix this is to use this markup:
    ``this will be surrounded with proper quotation marks when rendered in \LaTeX’’
    Notice that I used two single quotes at the end (‘’) not a double quote (“).

    • @johnmeyers8542
      @johnmeyers8542 Před 2 lety +1

      Good catch. Although you missed 'defintiion' spelled with the lesser used two 'i's. Neither latex or other rubberised products will help with that one.

  • @Pewpewpew230
    @Pewpewpew230 Před 2 lety

    Great work, thanks!

  • @jaumm84
    @jaumm84 Před 3 lety

    Thanks! I finally undestood it!

  • @kudzem
    @kudzem Před 2 lety +2

    O(2^N) : "Yo, I'm so complex"
    O(N!) : "What was that, punk?"

  • @diegovasquezrevilla
    @diegovasquezrevilla Před 3 lety

    Great video keep up the good work

  • @_maus
    @_maus Před 2 lety

    Thank you so much and I really appreciate the video.

  • @abdelbassetlabbi852
    @abdelbassetlabbi852 Před 3 lety

    incridible! just continue bro

  • @joaofrancisco8864
    @joaofrancisco8864 Před 3 lety +2

    So good!

  • @ccdavis94303
    @ccdavis94303 Před 3 lety +12

    O(?) is deep and important in understanding processes in general, not just computing. Social structures scale in scary ways. Some stuff works great at dining room table scale (N~6), is still functional at the scale of a monastery (N ~ 100) but when they scale to small countries ( N ~ 20MM) let alone large countries ( N ~ 300 MM ) or huge countries ( N ~ 1 Billion) it hits the fan. Central planning for example.
    The Soviets set up an office to make sure everything was fairly priced relative to other stuff. Easy right? But there were N ~ 25 MM items in the economy. So relative fairness is N^2, but everything is fair compared to itself, so N^2 - N. Further comparison is sort of symmetric, so (N^2 -N)/2. Big improvement but when N = 25 MM, O(fair) ~ 312 trillion. Poor aparatchicks. (Tom Sowell cited this case)
    { if a is fair relative to b and b is fair relative to c, is a fair relative to c? How much would this improve things?}

    • @jursamaj
      @jursamaj Před rokem

      That argument is obviously fallacious. You don't need to compare the price of every type of watch to every type of car, and every type of bread, etc. The watches only need compared amongst themselves, and to some baseline.

  • @samuelatienzo4627
    @samuelatienzo4627 Před 2 lety

    Jeez I learned more here in 15 mins than a few weeks of my statistics and numerical methods class...

  • @the_cheese_cultist
    @the_cheese_cultist Před 2 lety +3

    you probably should've added O(sqrt n) and O(n!) to your "common running times" list
    since they do appear quite often as well

  • @sbsyr5555
    @sbsyr5555 Před 2 lety

    Nicely explained...

  • @shimavalipour5992
    @shimavalipour5992 Před 2 lety

    u explained it sooooo goooood, thanks

  • @user-hc6dm3yq4v
    @user-hc6dm3yq4v Před 2 lety

    大學的演算法 當初根本聽不懂 這個影片超有幫助 感謝講解

  • @darkelwin02
    @darkelwin02 Před 3 lety

    Hey good video explaining it. I think including the Factorial class would have been useful. While yes you dont see those outside graphs often, making an algoritmh on your own and recognizing to stay away from that class is practical

  • @discreet_boson
    @discreet_boson Před 3 lety +4

    It would be an understatement to say this channel is underrated

  • @dwolrdcojp
    @dwolrdcojp Před 2 lety

    I love this channel

  • @thoraxlaneus9961
    @thoraxlaneus9961 Před 3 lety

    This is so great

  • @user-zm3hv5df1y
    @user-zm3hv5df1y Před 3 lety +1

    At 15:53 table 1->1, 2->2, 3->4, 4->8, 5->16; at 16:15 If n=k, Count = 2^(k-1)= 2^k/2

  • @Adomas_B
    @Adomas_B Před 3 lety +14

    I keep reading the text in 3blue1brown's voice

  • @tucan1309
    @tucan1309 Před 3 lety

    i didnt come from 3b1b but im suprised at quality of these videos

  • @joelflanagan7132
    @joelflanagan7132 Před 2 lety

    Cool video.

  • @nadonadia2521
    @nadonadia2521 Před 2 lety

    Great video i love the topics and the way that have been presented may teacher have not your skills, please more videos on running algorithmes programming ideas, thank you, i have subscribed to tthe channel.

  • @CheckmatesSpeedruns
    @CheckmatesSpeedruns Před 3 lety +6

    For the problem at the start, there is a better solution:
    for a in range(n+1):
    for b in range(n-a):
    c = n-b-a
    print(a, b, c)
    Efficiency: O(n²)
    It is still faster than Alice's solution, because instead of (n+1)² operations, this one takes n(n+1)/2, or binomial(n+1, 2) operations.

  • @Starwort
    @Starwort Před 2 lety

    That last example emphasises the importance of caching - caching would reduce the runtime to O(n) worst-case and O(1) best-case (of course, it could also be reduced to O(n) simply by multiplying the recursive result by 2)

  • @anasasim3856
    @anasasim3856 Před 2 lety

    I want to give you a hug bro!

  • @herlusz
    @herlusz Před 3 lety +1

    The second definition is quite understandable

  • @co9681
    @co9681 Před 2 lety

    Man manim is awesome

  • @kopiking352
    @kopiking352 Před 2 lety

    The best !!!

  • @Adrian-nq2bp
    @Adrian-nq2bp Před 2 lety

    Awesome.

  • @matthewcrunk4165
    @matthewcrunk4165 Před 2 lety

    Oh I thought this was 3blue1brown but with an odd accent.
    Great video, might I recommend making your visual style a tiny bit more distinct.
    Since honestly its great to have a thing that makes your channel stand out a bit.
    Like I think you even picked the same font, unless Im mistaken

  • @mychannel-te5ke
    @mychannel-te5ke Před 3 lety +14

    11:45 It's not really true that there should be such a limit. It may not exist. For example g(n) / f(n) may by 1 for even n's and 2 for odd n's. So there's no limit in this case.
    Even more. It's true that for f(n) = n and g(n) = n^2 it's true that n = O(n^2). But g(n) / f(n) = n has no limit.

    • @diegocfq
      @diegocfq Před 3 lety +2

      Yeah, it's supposed to be lim sup instead of just lim and an absolute value operator should be applied on the numerator of that fraction.

    • @DavidPysnik
      @DavidPysnik Před 2 lety +1

      How would lim sup help Сергей Обритаев's example? if f(n) = n and g(n) = n^2, the limit as n goes to infinity of g(n)/f(n) would not exist because it goes to infinity, so the lim sup of this expression going to infinity would also not exist. Even with lim sup in that definition shown at 11:45, it doesn't allow n = O(n^2) as the original definition does, so
      Сергей Обритаев's criticism does not seem fixed.

    • @johnmcleodvii
      @johnmcleodvii Před 2 lety +1

      O notation does not require that the function has a strict limit in the terms that calculus does. If odd numbers for input are one growth in n and even numbers are something other growth in n, the O notation would be for the faster growing one. So in the example where odd numbers had linear growth and even numbers had n² growth, the O notation would be O(n²).
      Off the top of my head, I can think of no algorithms that have significantly different behaviors for even and odd n.

  • @manamsetty2664
    @manamsetty2664 Před 2 lety +1

    The Man.The Myth.The Teacher

  • @legendgames128
    @legendgames128 Před 2 lety

    12:20 I argue that you can cram extra items between constant and logarithmic, by considering the inverse of the Ackermann function. n=3 would equal the cube root of 3. n=2 would be 1 (2/2) and n=1 would be 0 (1-1)

  • @tamptus3479
    @tamptus3479 Před 3 lety +3

    What is difficult with this Definition? We do not define O(f) but we define =O(f) the Equal Sign has now no longer the meaning "equal". Example if f = O(g) and h = O(g) then f and h may not equal. if the = has the meaning "equal" O(f) have to be a function, but this is not the case.

    • @perrydimes6915
      @perrydimes6915 Před 2 lety +2

      You're right, it is better to think about it as set inclusion. If you know anything about set theory, this is the "is in" or "is an element of" or simply ∈. So we would say f ∈ O(g), and h ∈ O(g). I believe this is the single biggest issue with understanding, because we're using an equals sign for something that is NOT equality. O(g) is a set. f, g, and h are all functions.

  • @tal3541
    @tal3541 Před 3 lety +6

    There's an inaccuracy in 11:30. If f=O(g) it doesn't necessarily mean that the limit of g(n)/f(n) exists. For example take g(n)=n and f(n) to alternate between n and 2n (for evens and odds). The mathematically correct way to put it is the the liminf of g(n)/f(n) is equal to C which is greater than 0.

    • @willnewman9783
      @willnewman9783 Před 2 lety

      Good point, but I still think this is wrong, at least according to his definition.
      By what be says, n should be O(n^2), because n0.

  • @hayaokakizaki4463
    @hayaokakizaki4463 Před 2 lety

    It's showtime!

  • @danser_theplayer01
    @danser_theplayer01 Před 6 měsíci

    The O notation which drops only small +- values but keeps /* and ^ values is going to tell you the overall time an algorithm will take to run given n input size. E.g. O(n/45) is clearly 45 times faster than O(n).
    The O notation simplified will tell you the way your algorithm time scales in relation to n input size. E.g. both O(n/45) and O(n) will scale linearly, in the first case every 2 input will need 2/45 (rounded to 1) "operations" to execute, and it's not going to suddenly scale quadratically where for every 2 input you'll need 4 "operations".

  • @JonathanMandrake
    @JonathanMandrake Před 2 lety +2

    As a mathematician, I also have to say that it is easier to find the number of operations made if you try to say what the program does exactly and condensing all the parts that don't really matter to the runtime. For example for this algorithm:
    define f(n):
    f(1)=1
    f(n)=f(n-1)+f(n-1)
    Thus, we have 1+2+4+8+...+2^(n-1)=2^n -1 calls, thus O(2^n) calls, as well as around one addition per call, exactly 2^(n-1) -1, being O(2^n).
    One simple step makes this a linear problem:
    define f(n):
    f(1)=1
    f(n)=2*f(n-1)
    Then, we have n-1 multiplications (being O(n)) and n calls of f (also O(n)).
    But at this point, we can see, that this is a much simpler definition:
    define f(n):
    f(n)=2^n
    Here, we have n-1 multiplications, and 1 call of f, thus we have O(n) multiplications and O(1) calls of the function, making this algorithm much better. And we also have to consider what range of numbers we want to use. It may be great to use a highly complex algorithm for multiplication with an extremely good runtime O(f(n)), but if we only use numbers less than 10^10, it might still be much faster to use the algorithm with the worse O(f(n)) runtime simply because the n is not large enough in this practical application

    • @geradoko
      @geradoko Před 2 lety

      I'm not sure but I think you missed the point. The subject of the video is to explain what O(f(n)) means, not how we can build a better algorithm for a given problem. In this sense, the example is very well-chosen since it is very clear that it's not the best solution to the problem.
      But there is still one thing in your answer which made me remember of times when processors could only add and multiply (in fact they could only shift bytewise :), and that is that an algorithm of class O(n) which calls an exponential function might not be faster than an algorithm of class O(2^n) which uses only addition. But I don't think these questions are still important for coders nowadays.

    • @JonathanMandrake
      @JonathanMandrake Před 2 lety +1

      @@geradoko I do understand the point quite well agtually, but I was trying to note ways to find out what the actual order of runtime is (i. e. condensing unnecessary code, which also helps with cleaning up and improving the code) and why runtime isn't everything, because often enough the n aren't large enough

    • @zapazap
      @zapazap Před rokem

      Which illustrates that (by definition) complexity here describes not the problem but the algorithm used to solve it.

    • @JonathanMandrake
      @JonathanMandrake Před rokem

      @@zapazap Well, yes and no. If there is an algorithm which has optimal order of operations, then we can say that that problem also has that order. For example, if calculating the n-th term of some specific recursive series is at its best O(n), then we can say that that series has a computational effort of O(n)

    • @zapazap
      @zapazap Před rokem +1

      @@JonathanMandrake Yes, you are correct. The very question of P=NP involves problem classes and not merely particular algorithms. Good call.

  • @cross_roadz
    @cross_roadz Před 3 lety +1

    If only I saw this before my discrete mathematics exam

  • @nomi98
    @nomi98 Před 2 lety +1

    Glad my teachers taught me well lol.

  • @brianherring3776
    @brianherring3776 Před 3 lety +1

    Well done! What tool(s) are you using to create this content?

    • @askii2004
      @askii2004 Před 3 lety

      It's liked in the description! It utilizes manim, which was developed by Grant Sanderson (3Blue1Brown).

  • @aks9545
    @aks9545 Před 3 lety

    Thanks

  • @mikesolo7993
    @mikesolo7993 Před 2 lety

    I bring up BigO at work and people's eyes glaze over. I've stopped trying to explain, but damn with this video I think anyone could understand it!