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!
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.
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.
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
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.
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.
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.
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.
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).
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!!!
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!
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.
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!
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!
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.
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
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!
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?
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!
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!!
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 🙂
@@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!
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!
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!
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?
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?
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!
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!
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.
this completely explains hacker rank's shitty explanation. that woman is an absolute idiot explaining nonsense
@@DanT-iu6oc Bro, dont be a pussy nor hater..
Colt, sorry for making fight here, just defending humanity and education.
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.
I'm a self taught developer getting ready for technical interviews. This video is the best one on UA-cam covering big O notation
This is by far the best explanation I've seen/read/heard.
The best explanation of Big O I've found so far :) Thanks
COLT THE GOAT!!!
I second this comment
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
This is the best video to start with if you wanna know about Big O notation from zero knowledge of it. Thanks Steele
If you know nothing about time complexity .. this is the perfect video ... explained in the most easiest way possible ...
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.
thats why he's the best..takes complex topic and makes it seem so simple...God bless you Colt
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.
BEST explanation of Big O I've found. Thank you SO much! --From someone who didn't take decent math in school
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.
This is the best explanation I've seen in my life about Big O notation. You are the best!
i have searched for too many videos for BIG O, but after seeing this i got answer for BIG O thanks a lot bro
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.
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
This is the best explanation video I've run across so far, super simple and to the point
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).
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!!!
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!
Thanks. After looking for an actual coherent explanation all day, I have found your video. Hopefully future students find this video first
Probably the thing they hammered into us most at college. I’m glad they did.
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.
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!
Thank you so much! Finally! Someone who can make this topic seem easy to understand.
Seriously, one of the best tutorials on Big O notation. Really liked it a lot!
You’re explanation is great. However, your design and color combos for this presentation are BANGING! Looks so good.
So many videos I watched to understand BigO. This is the best. Practical and visual examples... Grate work. Thankyou...
This is the best explanation I've seen.
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!
searching for this subject on youtube, than I recognized Colt's voice (I took bootcamp course).
Good lessons as always
1:15 the actual content starts
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.
I got a clear picture of big O basics after watching this video. Thanks!!
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
Welcome back Colt.Good to hear that you're almost done with the react course.
Your a really good teacher, I’m glad I found this video
By far the best tutorial on O notation. Take a bow sir. Thanks
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
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.
One of the best introductory videos on Big O Notation and eagerly waiting for the React Course as well as the Webpack Video.
A LOT better explanation than all the other videos I have seen about Big O Notation!!
Thanks for the video, man. This was very much a Richard Feynman style of explanation. Very helpful.
This is definitely the best explanation on big-O. Thank you. Subscribed!
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!
The cats staring into my soul while you talked about subscribing definitely worked...cats are the best strategy.
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?
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 :)
This is the best explanation on The big O notation that I've found so far!
"It's up and down, it's hot and cold, it's yes and no" - lol
mah boi's a rapper
@@SouravendraKrishnaDeb It's a reference to Katy Perry's Hot n Cold. Don't ask why I know that.
@@AM-qx3bq xD thanks, not judging you lmao
you're in and you're out
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??!!!
Colt is the best instructor! Amazing to see you making videos man! I miss teaching with you!
Thanks for the demo, this explains things really simply!
10:52
Best video on UA-cam about the subject. Well done!
This is just so good! Crisp and to-the-point. Am subscribing
Great explanation and breakdown of the examples. I definitely have a better grasp of Big O Notation now.
Short concise and informative content thank you Colt
Wow best Big O explanation on UA-cam. Thanks!
its literally the best big O videos present on youtube thanks.... : D
Thank you ! you make it very easy and simple to understand the Big O notation which it's complex !
My teacher forced me to watch this, no regrets though :) Very useful and does not make me feel sleepy
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!
Thanks for making this video! It's really easy to follow and understand.
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!!
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 🙂
@@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!
Colt you are doing God's work my friend, keep it up you AMERICAN HERO
best explanation of Big O, been searching for a clearer explanation of the subject, thank you sir!
Helped me a lot to understand my algorithms course in collage. Thank you so much!
this is the best way to define anything great job Sir!!!
Phenomenal - great explanation of Big O .
Great Video! I now understand Big O so much better 👍🏾
I really wish you were my teacher in grad college... Such an amazing simplification of the concept!
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!
Respond to this please ;-;
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!
As much as you would like it to; math never goes away!
Thanks so much for this awesome explanation. I struggled a lot understanding this Big O notation, but you made my day. Thanks again.
Thank you so much. The little exercises at the end are surprisingly helpful.
This was an awesomely clear explanation. Thanks!
Brilliant! Superbly explained! Thank you Colt!
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?
Your explanation is the best! Thanks a lot!
This video has been really helpful, Thanks so much
Your didactic is insane. Keep the great work.
Thanks for your effort, it so helpful for the beginners
Life always finds a way.
This was a great explanation! Thank you!
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.
Awesome video! First time I understood this concept. Thanks a lot!
i loved your way of teaching
Thanks Colt. One note: exponential and factorial time complexities are slower than quadratic, so technically quadratic isn't the "worst nightmare"
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?
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!
Great explanation, Colt!
Best video on BigO notation. Thank you!
i am waiting for ur react course and will definitely enroll in it
Life saver as always!!! Great video!
Good video. What if we have 3 nested loops? Could there be a O(n^3) or we still use O(n^2)?
Where can I see the derivation on the formula at 3:18?
Man, I remember when you used to hate on cats. Glad to see you’ve seen the light ;)
Thank you for the simple explanation! I have subscribed to your channel!
Best explanation I found, thanks
Thanks Colt for your good courses.
this was super insightful. thank you!