Big O Notation & Time Complexity Analysis Tutorial

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

КОМЕНТАРІ • 92

  • @ginadouglas7641
    @ginadouglas7641 8 місяців тому +1

    Never understood big o notation until I found this video. Thank you so much!!

  • @uncle-ff7jq
    @uncle-ff7jq 2 роки тому +14

    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 роки тому +6

    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 роки тому +1

    this what I wished for
    someone to make a good tutorial on big O notation
    Thank you so much Tim!

  • @mrmillmill
    @mrmillmill 2 роки тому +7

    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 роки тому +9

    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!

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

    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!

  • @mrmillmill
    @mrmillmill 2 роки тому +3

    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

  • @yaboy7120
    @yaboy7120 9 місяців тому

    taking data structures & algorithms in java this video is a blessing 🙏🏻thank you kind sir

  • @LindaKanjanabout-j8b
    @LindaKanjanabout-j8b 8 місяців тому

    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!

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

    I just started learning Big O notation in class and this was so helpful!!

  • @coderanger7708
    @coderanger7708 2 роки тому +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

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

    Man I was thinking to learn this topic yesterday and today you posted a video about big o notation WOW!

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

    I learned a lot from this video than 2 weeks of school.. great content 👍🏻 !!

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

    Thanks for the thorough explanation and examples.

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

    The explaination you give is impeccable

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

    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.

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

    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.

  • @rishabhsubrahmanian112
    @rishabhsubrahmanian112 2 роки тому +2

    Let’s goooo big Tim! Thanks for the video yet again.

  • @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.

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

    Hey Tim Great Content as Always.✨
    Thanks for Sharing it!🙏🏻
    You Have Been an Inspiration for My Own 📺UA-cam Channel!!!

  • @s950343
    @s950343 2 роки тому +2

    Amazing video!
    Looking forward to watching more videos related to other data structure concept!!

  • @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

  • @aqifhebak1026
    @aqifhebak1026 2 роки тому +11

    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).

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

    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 :')

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

    Really excited to learn more

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

    Thank you Tim. Pretty important topic.

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

    Thanks tim, I have been wating for these kind of videos (from you) for a while. Thank you

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

    I JUST CAN'T FIND THE WORDS TO EXPRESS MY GRATITUDE.

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

    Incredibly helpful video Tim! Thank you for all the practice questions and patiently explaining it to us! =)

  • @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.

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

    Amazingly explained

  • @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.

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

    Super explanation

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

    Thank you! I needed this badly!

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

    👏 THANK 👏 YOU 👏 TIM 👏

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

    Amazing tutorial fr, thanks Tim :)

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

    Thank you!!

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

    Appreciate it, dope video, really helped

  • @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!

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

    I needed this!

  • @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)

  • @maxwealth.
    @maxwealth. 2 роки тому

    Would like to see more videos on algorithms like Depth-First Search or concepts like recursion…

  • @lolhappyfaceftw
    @lolhappyfaceftw 2 роки тому +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 роки тому +3

      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.

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

    That was really helpful ♥️

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

    36:00 tim bro I'm following

  • @fitofficial6510
    @fitofficial6510 18 днів тому

    for the example9, I think, this will be the time complexity: TC: O(nlogn+mlogm+((n+m)×((n+m)+k)))

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

    gonna watch this

  • @suchakbarik-0812
    @suchakbarik-0812 2 роки тому

    Please make series on DSA

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

    Coool video Tim!

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

    Great video! Can you make more videos about data engineer?

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

    Hi tim, for example #4, can we write n^2 instead of hw?

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

    Thank yoou Tim!

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

    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).

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

    Amazing video! ❤❤❤

  • @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?

  • @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?

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

    Tim can you make Django projects, AI playing games, tutorial

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

    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

  • @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

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

    amazing

  • @suharena188
    @suharena188 5 місяців тому

    I'm confused at 19:35 . Why didn't you set f(n)

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

    Great 👍

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

    Looks like there's an error with example 7, did you mean to write "if n == 1: return"?

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

    Plz make DSA series.... Plz....

  • @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 роки тому +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

  • @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!

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

    constant, linear, exponential

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

    Yo man pls make a vid on burnout

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

    Please start DSA playlist in python

  • @achintkaur51
    @achintkaur51 9 місяців тому

    please provide the codes you are using in the video

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

    33:59

  • @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?

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

    I am going to make my own time complexity expect it is going to be called time simplicity.

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

    OH. Wrong big O. Good video.

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

    the day before my exam 🤧

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

    People are commenting on an hour-long video posted a few minutes ago as if they have already watched it...

  • @DanAAOA-z5g
    @DanAAOA-z5g Рік тому

    AAOA-DJRs alorithims N Log N , O(2^N)-O(9^N) utilising AAOA-DJRs.

  • @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?????

  • @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

  • @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