Big O Notation & Time Complexity Analysis Tutorial

  Рет қаралды 44,076

Tech With Tim

Tech With Tim

Күн бұрын

Пікірлер: 93
@ginadouglas7641
@ginadouglas7641 9 ай бұрын
Never understood big o notation until I found this video. Thank you so much!!
@aqifhebak1026
@aqifhebak1026 2 жыл бұрын
For logarithmic time complexity (43:33), say that n is being divided by 2 over and over again until it reaches 1 and we want to calculate how many times these divisions happen. You can think of it like this : n / 2 / 2 / 2 ... / 2 = 1 let's say that the division happened k times, that makes the equation like this: n / 2^k = 1 2^k = n k = log2(n) So the number of divisions is around log2(n).
@charlemagne7460
@charlemagne7460 2 жыл бұрын
Nice explanation. Thank you
@aqifhebak1026
@aqifhebak1026 2 жыл бұрын
Thanks :) you're welcome
@uncle-ff7jq
@uncle-ff7jq 2 жыл бұрын
Genuinely informative, I really appreciate the breadth of your knowledge and how you use to to explain things in a concise way from multiple perspectives. Your content really helps me understand concepts I would've never thought I could grasp an understanding of and feel less intimidated about the learning process in general. Thanks!
@subramanianchenniappan4059
@subramanianchenniappan4059 2 жыл бұрын
Thanks . I am a java developer . This is useful for interview . Not many videos are there in youtube. and udemy on this topic
@noobypro4560
@noobypro4560 2 жыл бұрын
this what I wished for someone to make a good tutorial on big O notation Thank you so much Tim!
@yaboy7120
@yaboy7120 9 ай бұрын
taking data structures & algorithms in java this video is a blessing 🙏🏻thank you kind sir
@mrmillmill
@mrmillmill 2 жыл бұрын
Fantastic video as usual Tim! Finishing up my first view of it. Thorough explanation. Would like to see 2-4 examples per any given inefficient algorithm and show how to make each more efficient in terms of Big O notation. Thank you for an incredible video.
@MishaSv
@MishaSv 2 жыл бұрын
Amazing tutorial! Everything clearly explained and presented. This is a must watch video for everyone who is trying to start in the software engineering field as well as computer science!
@coderanger7708
@coderanger7708 2 жыл бұрын
This video is not good Tim...... It's GREAAAAT!!!!!!!!! The maths explanations were kinda funny at times but you nailed it. Big O was hard for me to understand to do it quick enough but you made it easy. Kudooos
@sam1286
@sam1286 2 жыл бұрын
I just started learning Big O notation in class and this was so helpful!!
@bluereino
@bluereino 2 жыл бұрын
Actually helped me a ton! I was so lost when my professor was explaining it, but watching this gave me some clarity on the topic!
@JulioDx3480
@JulioDx3480 2 жыл бұрын
Thanks for the thorough explanation and examples.
@kardasmanish1069
@kardasmanish1069 2 жыл бұрын
The explaination you give is impeccable
@LindaKanjanabout-j8b
@LindaKanjanabout-j8b 9 ай бұрын
Thank you so much! I've watched so many of your tutorials and they've helped me so much to where it's definitely worth subscribing to your ProgrammingExpert course!
@foxsermon
@foxsermon 2 жыл бұрын
I learned a lot from this video than 2 weeks of school.. great content 👍🏻 !!
@siderealvictor9813
@siderealvictor9813 2 жыл бұрын
Man I was thinking to learn this topic yesterday and today you posted a video about big o notation WOW!
@mrmillmill
@mrmillmill 2 жыл бұрын
Would like to see more on the other time complexities and also more on all algorithms from easy to advanced and showing examples of when each can be used in real world situations
@16sumo41
@16sumo41 Жыл бұрын
love your content Tim! And this was indredibly enlightning. When I studied elementary number theory we talked about the big O notation but I always felt like I did not understand the point of having such a notation. Now, with these programming examples it feels much more intuitive and I can much clearly see the relevance of this notation.
@kellenrivers5466
@kellenrivers5466 2 жыл бұрын
This is super helpful, Tim! I'm new to the field and have yet to have this concept explained in such a digestible manner. Working through ProgrammingExpert as well which it has been invaluable.
@scruffystudios8112
@scruffystudios8112 2 жыл бұрын
Loving this tutorial, really appreciate it :D I'm on question 7 right now, if we assume that starting input n > 0 then the function never ends as it gets down to n=1 which halves to 0.5 and rounds back to 1. I know this wasn't the point of the question, just something I noticed :')
@olanrewajudimeji3560
@olanrewajudimeji3560 2 жыл бұрын
Hey Tim,I am always edified anytime I watch your video,I really wish you can make a video about cloud computing,I really need to know what path to follow to become a cloud engineer,I would be glad if you could kindly help me with that man.
@trevorelvis1355
@trevorelvis1355 2 жыл бұрын
I JUST CAN'T FIND THE WORDS TO EXPRESS MY GRATITUDE.
@loudarck2402
@loudarck2402 2 жыл бұрын
Good video Tim , watched like 4 or 5 video about Big O notation could't still perfectly get it until you did a video about it hope you do for other Notation
@gustavojuantorena
@gustavojuantorena 2 жыл бұрын
Thank you Tim. Pretty important topic.
@rishabhsubrahmanian112
@rishabhsubrahmanian112 2 жыл бұрын
Let’s goooo big Tim! Thanks for the video yet again.
@nite5963
@nite5963 2 жыл бұрын
33:25 Actully since nums2 (m) is always less than nums1 (n) or it will raise an error, we can replace m with n as it will always be less and thus we have a time complexity of O(n)
@anuvabchakraborty4900
@anuvabchakraborty4900 2 жыл бұрын
Really excited to learn more
@s950343
@s950343 2 жыл бұрын
Amazing video! Looking forward to watching more videos related to other data structure concept!!
@juanfeliperenza1604
@juanfeliperenza1604 2 жыл бұрын
Amazingly explained
@64imma
@64imma Жыл бұрын
I'm watching your tutorials, and I'm thinking about what you said about the importance of developing good communication skills. I've watched plenty of coding tutorials that, yeah, all the information is there, but I fall asleep halfway through and barely learn anything. Your tutorials are different. You're so good at articulating what is going on, even if it's hard to explain. Do you have any resources you could recommend for improving communication skills? Even as a 28 year old, I feel like I'm very socially awkward, and struggle to clearly communicate what I am thinking.
@munizrobson5292
@munizrobson5292 2 жыл бұрын
Hey Tim Great Content as Always.✨ Thanks for Sharing it!🙏🏻 You Have Been an Inspiration for My Own 📺KZbin Channel!!!
@__________________________6910
@__________________________6910 2 жыл бұрын
36:00 tim bro I'm following
@alanmunoz3755
@alanmunoz3755 2 жыл бұрын
Thanks tim, I have been wating for these kind of videos (from you) for a while. Thank you
@amaarquadri
@amaarquadri 2 жыл бұрын
Great video! I find it funny that the last example is O(n!) because it literally implements a factorial by repeatedly adding 1 😂. A normal implementation would be linear.
@amospan14
@amospan14 2 жыл бұрын
Incredibly helpful video Tim! Thank you for all the practice questions and patiently explaining it to us! =)
@andrijanamarkovic2990
@andrijanamarkovic2990 2 жыл бұрын
👏 THANK 👏 YOU 👏 TIM 👏
@BookOfMorman
@BookOfMorman 2 жыл бұрын
Thank you! I needed this badly!
@fitofficial6510
@fitofficial6510 Ай бұрын
for the example9, I think, this will be the time complexity: TC: O(nlogn+mlogm+((n+m)×((n+m)+k)))
@suchakbarik-0812
@suchakbarik-0812 2 жыл бұрын
Please make series on DSA
@santiagorodriguez2940
@santiagorodriguez2940 2 жыл бұрын
56:46 naively my thought would be that since you're only creating 1 subproblem of size n/4 each time, the cost of the operation is dominated by the cost of the root of the tree, which is in turn dominated by the cost of the operation in line 10. Therefore I'd say it's O((m+n) lg (m+n)) where m is equal to k + sum(k/4^i) with i ranging from 0 to log4(n) and k being the original length of results I'm assuming that's not the answer as it doesn't look as complicated as the triple-loop one
@amaarquadri
@amaarquadri 2 жыл бұрын
I think this is correct. Only thing that I would add that m as you defined it is a constant multiple of n (since it's a convergent geometric series). So it simplifies to n*log(n).
@nandakishore9579
@nandakishore9579 2 жыл бұрын
Super explanation
@Clipaholick
@Clipaholick 2 жыл бұрын
Amazing tutorial fr, thanks Tim :)
@pravachanpatra4012
@pravachanpatra4012 2 жыл бұрын
Tim can you make Django projects, AI playing games, tutorial
@redstonebear
@redstonebear 2 жыл бұрын
I needed this!
@maxwealth.
@maxwealth. 2 жыл бұрын
Would like to see more videos on algorithms like Depth-First Search or concepts like recursion…
@lolhappyfaceftw
@lolhappyfaceftw 2 жыл бұрын
Great video, Tim! One thing that I was curious about was whether it matters what the base of the logarithm actually is. Since constant coefficients don't matter for Big O notation, and change-of-base rule can be used to turn any logarithm into a different base using a constant factor (i.e. log2(x) = logb(x)/logb(2)), does the distinction of saying log2 even matter for Big O? Perhaps I'm missing something here or it's just a convention to use log2?
@TechWithTim
@TechWithTim 2 жыл бұрын
Great question! Usually u can get away with just using log, however if you want to be most accurate then you use the actual base. Like u said u can write it as a constant and remove the base by writing in the format u suggested and that’s still correct. So answer is it’s really up to you and if you’re in school your professor as to what is preferred.
@ricardocambundo2527
@ricardocambundo2527 2 жыл бұрын
Appreciate it, dope video, really helped
@ziyad7780
@ziyad7780 2 жыл бұрын
gonna watch this
@jimbb1832
@jimbb1832 2 жыл бұрын
What kind of psychopath writes their 1's from the bottom up? Love your videos, thanks for everything you've taught me!
@mohammadkhalili1289
@mohammadkhalili1289 2 жыл бұрын
That was really helpful ♥️
@quyettranvan6506
@quyettranvan6506 2 жыл бұрын
Great video! Can you make more videos about data engineer?
@YotamBarakJAB271104
@YotamBarakJAB271104 2 жыл бұрын
Thank you!!
@MrKittengrinder
@MrKittengrinder 2 жыл бұрын
Now it makes a lot more of sense, thank you! The only thing I've noticed in example 9: why process = keys1 + keys2 is O(n + m)? we already counted keys1 and keys2, and as I see it, it shoul be O(1). Where am I wrong?
@xuanchili
@xuanchili 2 жыл бұрын
Hi tim, for example #4, can we write n^2 instead of hw?
@marychang6919
@marychang6919 2 жыл бұрын
constant, linear, exponential
@TheCodeDealer
@TheCodeDealer 2 жыл бұрын
Coool video Tim!
@sahilbhor4694
@sahilbhor4694 2 жыл бұрын
Plz make DSA series.... Plz....
@ojasver4772
@ojasver4772 2 жыл бұрын
Please start DSA playlist in python
@LeonaS-jd2wy
@LeonaS-jd2wy 2 жыл бұрын
Hi guys, I have a quick question, and hope there's someone who knows the answer. Should I learn Python or Java if I want to do backend dev in North America in the future? Tim said that he is doing backend, and we know he uses Python. But there are also people who say since lots of big companies are using java, java is better for landing a job. Big thanks!
@nite5963
@nite5963 2 жыл бұрын
45:05 won’t the function just never terminate since round(1/2) = 1 and we’re calling the same function
@SHYAMV-nx3jo
@SHYAMV-nx3jo Жыл бұрын
Rounding 0.5 actually gives 0 instead of 1, as 0 is not odd
@pythonholic
@pythonholic 9 күн бұрын
Thank u❤
@GregDowns
@GregDowns 2 жыл бұрын
Just a suggestion, in a video with this sort of content that not every viewer will be familiar with, it would be more rewarding to have the 'What is Big O notation?' section kick in at 00:00 instead of 1:12.
@GrandAmericaMotorcycleRides
@GrandAmericaMotorcycleRides 2 жыл бұрын
That appears at 1:22 which is reasonable and in scope. I have found some video's from other instructors where instruction does not begin until after 4 minutes in lol
@SHYAMV-nx3jo
@SHYAMV-nx3jo Жыл бұрын
What does example 5 do? I am not able to understand what it does. Or is it just for representing time complexities?
@chikanmao8326
@chikanmao8326 2 жыл бұрын
Thank yoou Tim!
@devxlk
@devxlk 2 жыл бұрын
Amazing video! ❤❤❤
@mayman8415
@mayman8415 2 жыл бұрын
Yo man pls make a vid on burnout
@tcgvsocg1458
@tcgvsocg1458 2 жыл бұрын
can you show how to create "surprise me" bouton on webpage for exemple you see article on devellopement and you click surprise me and open 3 article webpage on developpeement but not the one you watch before
@suharena188
@suharena188 6 ай бұрын
I'm confused at 19:35 . Why didn't you set f(n)
@henrycook859
@henrycook859 2 жыл бұрын
Looks like there's an error with example 7, did you mean to write "if n == 1: return"?
@Unknownn716
@Unknownn716 Жыл бұрын
33:59
@pixuhl
@pixuhl 2 жыл бұрын
OH. Wrong big O. Good video.
@sarabasheer4352
@sarabasheer4352 Жыл бұрын
amazing
@visothipong3387
@visothipong3387 2 жыл бұрын
Great 👍
@jjophoven
@jjophoven 2 жыл бұрын
I am going to make my own time complexity expect it is going to be called time simplicity.
@achintkaur51
@achintkaur51 9 ай бұрын
please provide the codes you are using in the video
@DanAAOA-z5g
@DanAAOA-z5g Жыл бұрын
AAOA-DJRs alorithims N Log N , O(2^N)-O(9^N) utilising AAOA-DJRs.
@scruffystudios8112
@scruffystudios8112 2 жыл бұрын
I'm somewhat confused on the simplification of ex8. n(k+klog2(k)) => n(klog2(k)) I don't see how that becomes simplified, could you go into a bit more detail please?
@santiagorodriguez2940
@santiagorodriguez2940 2 жыл бұрын
O(k+k lg k) = O(max(k, k lg k)) = O(k lg k)
@jamesssssss
@jamesssssss 2 жыл бұрын
People are commenting on an hour-long video posted a few minutes ago as if they have already watched it...
@nopens
@nopens 2 жыл бұрын
Math was never my thing and i'm losing it at 18:53 already. Being a brainlet is hard.
@janakikenche8576
@janakikenche8576 2 жыл бұрын
Dude your voice matches with Andrew Garfield's voice
@Djn77645
@Djn77645 2 жыл бұрын
the day before my exam 🤧
@abd_cheese7353
@abd_cheese7353 2 жыл бұрын
I got the first two, completely failed the rest, then took one look at the final algorithm and said n!. W?????
@h_coder
@h_coder Жыл бұрын
Thank u so much ... may Allah guide u to accept Islam
@Frozen0wl
@Frozen0wl 2 жыл бұрын
Can you please program a bot that plays the pong game @Tech With Tim
@aidanthompson5053
@aidanthompson5053 Жыл бұрын
51:24
Big-O Notation - For Coding Interviews
20:38
NeetCode
Рет қаралды 520 М.
Dynamic Programming Explained (Practical Examples)
29:00
Tech With Tim
Рет қаралды 108 М.
Turn Off the Vacum And Sit Back and Laugh 🤣
00:34
SKITSFUL
Рет қаралды 8 МЛН
Молодой боец приземлил легенду!
01:02
МИНУС БАЛЛ
Рет қаралды 2,3 МЛН
How To Make Money From Python - A Complete Guide
10:33
Tech With Tim
Рет қаралды 31 М.
Mastering Python - Everything You Need To Know To Become a Python Master
16:02
Big O Notation - Full Course
1:56:16
freeCodeCamp.org
Рет қаралды 567 М.
Planet Simulation In Python - Tutorial
1:00:02
Tech With Tim
Рет қаралды 508 М.
How I Got Good at Coding Interviews
6:29
NeetCode
Рет қаралды 1,7 МЛН
Python Pong AI Tutorial - Using NEAT
1:18:13
Tech With Tim
Рет қаралды 106 М.
Binary Tree Algorithms for Technical Interviews - Full Course
1:48:53
freeCodeCamp.org
Рет қаралды 735 М.
Why Your Computer Has Probably Not Been Hacked
8:19
Ask Leo!
Рет қаралды 972