Substitution method | Solving Recurrences | Data Structure & Algorithm | Appliedroots

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 พ.ค. 2019
  • Chapter Name: Solving Recurrences
    Please visit: gate.appliedroots.com/
    For any queries you can either drop a mail to Gatecse@appliedroots.com or call us at +91 844-844-0102

ความคิดเห็น • 82

  • @haha345
    @haha345 2 ปีที่แล้ว +17

    I have been out of school for 10 years. I re-read CLRS and multiple other difference sources about this substitution method. I just forgot too much about induction that I could not follow those other explanations. This video really did a great job of explaining this very convincingly and clearly without assuming any knowledge of the audience. Great job, kudos and I appreciate your work so much!

  • @yigithansaglam9128
    @yigithansaglam9128 3 ปีที่แล้ว +13

    Bro, thanks a lot. I've been trying to understand this shit for all day long and you just made me figure it out.

  • @natepardee3792
    @natepardee3792 4 หลายเดือนก่อน +2

    Man I wish I had seen this prior to my algorithms midterm exam. The prof just uses the examples from the textbook, but the way you explain the steps make it so much clearer to understand. I will definitely be using you as a resource from now on

  • @kashif-ghafoor
    @kashif-ghafoor 3 ปีที่แล้ว

    that's what I exactly wanted from TH-cam. Thanks a lot

  • @user-xb6yg3mu6r
    @user-xb6yg3mu6r 5 หลายเดือนก่อน

    I watched five or so videos on the subject and this was the clearest by far. Thank you!

  • @kevinmccarty2967
    @kevinmccarty2967 3 หลายเดือนก่อน

    Is the assumption "all" m= n0? Hence might there exist m < n0 where the condition does not hold? Perhaps "some" m

  • @dolibert
    @dolibert 4 ปีที่แล้ว +2

    Easy understandable and extensive.
    Thanks!

  • @rohithanasuri8759
    @rohithanasuri8759 9 ชั่วโมงที่ผ่านมา

    Explained beautifully

  • @exoticme4760
    @exoticme4760 4 ปีที่แล้ว

    Wow thank you so much , your a life savior 😢

  • @nirajkc224
    @nirajkc224 2 ปีที่แล้ว +4

    For someone having hard time to guess the solution in one go,I recommend you to go through master's method first before stepping into this one.
    Btw great lesson!

  • @MegaJolaus
    @MegaJolaus 3 ปีที่แล้ว +1

    Thank you so much. This was super helpful.

  • @na50r24
    @na50r24 ปีที่แล้ว

    Thanks for this video, I learned about inductive proofs just a while ago, where it was about proving that P(k+1) holds using P(k) (P = proposition)
    So the explanation of using T(n/2) to show that T(n) holds was helpful. (Well, not T(n) but whatever was used with T(n), in this case, the inequality)
    *Correct me if I interpreted something incorrectly here
    Have you perhaps also made a video about repeated backward substitution? I learned about it in a lecture but the CLRS didn't cover it. If not, can you make a recommendation, where it will be explained as well as you did here?

  • @xinmingd8992
    @xinmingd8992 ปีที่แล้ว +4

    Great explanation! It would be better if you also showed the base case proof.

  • @VishalSingh-rl8wz
    @VishalSingh-rl8wz 4 หลายเดือนก่อน

    One of best video on substitution method.
    Thank you ❤

  • @josephzou360
    @josephzou360 4 ปีที่แล้ว +1

    Amazing presentation u got a sub.

  • @user-vy8xy6fc6h
    @user-vy8xy6fc6h 2 ปีที่แล้ว

    for 13:30 is it not possible to change it into cn -(-n) so the (-n) can be excluded hence it will prove that T(n)

  • @trafalgarlaw9919
    @trafalgarlaw9919 3 ปีที่แล้ว

    Thank you for the explanation!

  • @talhaturkumozkurt8052
    @talhaturkumozkurt8052 3 ปีที่แล้ว +1

    Awesome teaching.

  • @gabrielrocha1330
    @gabrielrocha1330 ปีที่แล้ว

    Very well explained, thanks.

  • @tahabimuhammad4524
    @tahabimuhammad4524 3 ปีที่แล้ว +2

    Special thanks for showing an example by taking a wrong guess value and explaining the pitfalls.

  • @RodrigoRocha-st7nm
    @RodrigoRocha-st7nm 2 หลายเดือนก่อน

    love u mate, that saved me

  • @zerobit778
    @zerobit778 3 ปีที่แล้ว +5

    Does anyone knows what happened in this example?
    Give the recurrence relation.
    T(n) = 2T(n/2) + 1
    Guess : T(n) = O(n) ===>>> T(n)

    • @noahmann1180
      @noahmann1180 3 ปีที่แล้ว +1

      Not sure if I entirely follow your question but basically cn is another way of giving bounds for O(n). For all intents and purposes cn=O(n) but we ignore the c because we are only looking for an upper bound when using BigO notation so we just ignore the constant. It is also worth noting that with the master method there are a few fringe cases in which cases where it does not work. Namely when the leaves (divide step) are almost equal but not equal to the root (conquer step) because both case 1 and case 3 require them to be polynomially smaller and larger respectively. Case 2 of the master method can generally absorb a difference of about log n but if it doesn't fit in that log n difference and it doesn't fit in case 1 or 3 as shown before it can't be used. Hoped this helped and I'm sorry if I confused you more!

    • @RubLox_Live
      @RubLox_Live 8 หลายเดือนก่อน

      Youre using T(n) = 2T(n/2) + 1 vs the video using T(n) = 2T(n/2) + n which is completely different

  • @rushic24
    @rushic24 4 ปีที่แล้ว +6

    Thank youn a lot!!, I was searching for something like this since 2 days

    • @alanjesse5660
      @alanjesse5660 3 ปีที่แล้ว

      Pro tip: watch movies on flixzone. Me and my gf have been using them for watching a lot of movies recently.

    • @aldenraymond1781
      @aldenraymond1781 3 ปีที่แล้ว

      @Alan Jesse Yup, been using Flixzone for since december myself =)

    • @amineb7833
      @amineb7833 2 ปีที่แล้ว

      Who is Youn

  • @dimaghkokholo5417
    @dimaghkokholo5417 5 หลายเดือนก่อน

    Big O is n

  • @muhammadusmanbutt3341
    @muhammadusmanbutt3341 3 ปีที่แล้ว +1

    Great explanation ♥️

  • @kairiannah
    @kairiannah 2 ปีที่แล้ว +5

    seriously mate thank you! you deserve more than my lecturers!!!

    • @priyankand3692
      @priyankand3692 ปีที่แล้ว

      how to guess the time complexity ?

    • @angadsinghvirdi5689
      @angadsinghvirdi5689 ปีที่แล้ว

      @@priyankand3692 same doubt, do you now have the explanation for that?

  • @ngogaraul4155
    @ngogaraul4155 2 หลายเดือนก่อน

    On the mistake example .if there is minus n was it going to be true

  • @StudyAbroadWithMark
    @StudyAbroadWithMark 9 หลายเดือนก่อน +1

    My major problem has always been how to make the guess in the first place.
    Anyway thanks for this video.

    • @brrrrrrrrrr9313
      @brrrrrrrrrr9313 4 หลายเดือนก่อน

      hello...i have exams in 2 days...did you get a better understanding on how to guess the answer or any other vdo you can link... please would it help a lot 🙏🙏

  • @Lan-sv6rt
    @Lan-sv6rt ปีที่แล้ว

    Thank you so much!

  • @bretstuart4161
    @bretstuart4161 ปีที่แล้ว

    Can someone explain what m is? and why we choose it as n/2

  • @kevinhoxha240
    @kevinhoxha240 3 ปีที่แล้ว +13

    Hi, in mathematical induction we typically have a base case. I was wondering how come we did not use it here?
    For example, do we need to show that it holds for T(1) or T(2) etc...

    • @MegaJolaus
      @MegaJolaus 3 ปีที่แล้ว +7

      Recurrence relations will usually have a recurrence T(n) specified for values greater than some n and a single value specified for T(1) or whatever the "base case" is (you might have seen the notation where you have T(n) = { "two lines for the two cases"). That T(1) would be the case where the recursion "bottoms out" and you would have for example just T(1) = 1. If you imagine a recursion tree, that is the cost of a single leaf at the bottom of the tree.

  • @tashp
    @tashp 3 ปีที่แล้ว

    Thank you!

  • @mazenabouelhassen4913
    @mazenabouelhassen4913 2 ปีที่แล้ว

    Thanks a lot!

  • @amitsamui4958
    @amitsamui4958 3 ปีที่แล้ว

    superb explaination

  • @alperkaya8919
    @alperkaya8919 7 หลายเดือนก่อน

    thanks sir, it was a nice lecture

  • @ignassablinskas9175
    @ignassablinskas9175 5 หลายเดือนก่อน

    Note: without a base case you can't conclude anything using induction.

  • @itz_me_imraan02
    @itz_me_imraan02 ปีที่แล้ว

    If we get any new recurrence how will we guess correctly.....there are other videos too on substitution where they substitute the values and find the series.... dats more easy I guess....here it's more sort of proving the answer rather than finding the answer

  • @Twannnn01
    @Twannnn01 4 ปีที่แล้ว +7

    I don't understand how you went from cnlog(n)-cn+n to cnlog(n), can you elaborate on that step? time: 8:41

    • @clashingwithsahib
      @clashingwithsahib 4 ปีที่แล้ว

      according to me he is saying that this whole term (cnlog(n)-cn+n ) is less then cnlogn because we are subtracting (c-1)n from nlogn. therefore we just use this relation to get t(n) = cnlogn -(c-1)n to t(n)

    • @k_e_n_n_y_mccormick
      @k_e_n_n_y_mccormick 3 ปีที่แล้ว +1

      this probably isnt worth much to you after 6 months, but here's a simple example:
      Take b as any number >= 0.
      x = 2 - 1b
      Therefore:
      x = 0)

    • @sarahli2933
      @sarahli2933 3 ปีที่แล้ว +1

      @@clashingwithsahib But this argument is not valid if c is something between 0 and 1. Instead, I think the reason he discarded the linear term is because asymptotically they are trivial compared to O(nlgn).

    • @Sagar_smh
      @Sagar_smh 3 ปีที่แล้ว

      @@sarahli2933 Your reasoning seems more logical.

    • @lijieleow7158
      @lijieleow7158 3 ปีที่แล้ว

      @@sarahli2933 actually, for the proof to be correct, he needs to state in the video that c is greater than or equal to 1, because according to the big O definition, we could pick any values for the c.

  • @Rockyzach88
    @Rockyzach88 9 หลายเดือนก่อน

    This helped a lot, thx. That being said, does it have to equal exactly? The reason cn + n is not cn because T(n) could be in between cn and n aka n(c+1). I have a similar problem where the f(n) in the recurrence is logn and you end up getting something like nlg^2(n) - nlgn + n (without the Cs) and the soln is O(nlg^2(n)), however it makes sense because while the nlgn grows faster, it's subtracting in this case and it's just obvious that nlg^2(n) grows faster than n. They do give a T(1) = 1. Are you supposed to use that somehow to finish the proof?
    NVM I see.

    • @emperor8716
      @emperor8716 4 หลายเดือนก่อน

      the T(1)=1 makes things so much easier. i have to do some questions which don't even give that.

  • @perzillo
    @perzillo 2 ปีที่แล้ว

    At 8:41 , you say that the expression is less than or equal because -(c-1)n is negative. Should we specify that the c should be greater than one for it to hold? or is it enough to realize that there exists a c greater than 1 such that the proof holds?

    • @Lichcrafter
      @Lichcrafter 2 ปีที่แล้ว

      I think earlier he defined c as some constant greater than 0. Yeah, a 2:26

    • @Lichcrafter
      @Lichcrafter 2 ปีที่แล้ว

      Sorry, I misunderstood your question. I don't know, but I guess you are right in that it is enough for there to exist one C greater than 1.

  • @erikOHsix06
    @erikOHsix06 ปีที่แล้ว

    At 8:12, you said log2 is log 2 base 2 and changed it to 1. How did you know it was base 2? When I graph kx(logx - log2) and kx(logx - 1), I get two different graphs. How/why did you replace log2 with 1?

    • @fsginsainity9327
      @fsginsainity9327 ปีที่แล้ว +1

      its not log, its lg. log is base 10, lg is base 2

  • @버그헌터_기브르
    @버그헌터_기브르 ปีที่แล้ว

    Thank you good sir

  • @ahmetkarakartal9563
    @ahmetkarakartal9563 2 ปีที่แล้ว

    thank you so much

  • @fahadfauzan5221
    @fahadfauzan5221 ปีที่แล้ว +2

    how do you just guess correctly, there's so many options

    • @adarshmaurya7553
      @adarshmaurya7553 9 หลายเดือนก่อน +1

      you can guess any complexity and then check if it is true, he used the correct guess to teach us. if you use O(n^2) it will also be true, but it's loosely bound.

  • @sandeshdalvi3781
    @sandeshdalvi3781 3 ปีที่แล้ว +1

    superb explanation sir

  • @user-qh4dr1vy9d
    @user-qh4dr1vy9d ปีที่แล้ว +1

    Now I'm even more lost than I was before playing the video

  • @amitjajoo9510
    @amitjajoo9510 3 ปีที่แล้ว

    thanks

  • @falaksajjad4910
    @falaksajjad4910 2 ปีที่แล้ว

    in this example we have already know the T(n)=O(n logn) then we assume exist this .If does't know Then ?

    • @adarshmaurya7553
      @adarshmaurya7553 9 หลายเดือนก่อน

      you can guess any complexity and then check if it is true, he used the correct guess to teach us. if you use O(n^2) which will also be true, but it's loosely bound.

  • @user-yb6oc4tj2w
    @user-yb6oc4tj2w 3 ปีที่แล้ว +1

    I liked how you get to the point and explain very simply!!!

  • @naeemkhan4534
    @naeemkhan4534 3 ปีที่แล้ว

    you should have taught back substitution as guessing is tough

  • @prathamhullamballi837
    @prathamhullamballi837 6 หลายเดือนก่อน

    The proof is incomplete. The result we proved was for n/2 >= n_0, which is n>=2n_0. What we needed was to prove the guess for n>=n_0, so we still aren't done with the problem. We need to show that the guess is true for n_0

  • @viki8815
    @viki8815 2 ปีที่แล้ว

    How he guess this ,if i guess O(n) in place of O(nlgn) then what happened?

    • @suchitmeshram9230
      @suchitmeshram9230 9 หลายเดือนก่อน

      Watch full video

    • @adarshmaurya7553
      @adarshmaurya7553 9 หลายเดือนก่อน

      you can guess any complexity and then check if it is true, he used the correct guess to teach us. if you use O(n) it will return as false.

  • @iftikhar3609
    @iftikhar3609 4 ปีที่แล้ว

    like

  • @Yellowstone300
    @Yellowstone300 3 ปีที่แล้ว

    very chaotic

  • @hell9659
    @hell9659 7 หลายเดือนก่อน +5

    very bad explained, in such a hard way, without a true example. I swear i will make a video of how to solve by this method when i learn it

    • @emperor8716
      @emperor8716 4 หลายเดือนก่อน +2

      i read this before watching so i assumed it would be a bad video but it actually explained well. i think you just don't have the prerequisite knowledge

    • @rammus997
      @rammus997 2 หลายเดือนก่อน

      @@emperor8716it is not bad, but he definitely jumps around a lot. Most people go fast with explanations because they expect fundamental understanding of core concepts(such as induction). This idea usually just leads to confusion since most people go to these videos because of their lack of understanding. A slower Way longer explanation void of expectations is far superior…

  • @brianlee4966
    @brianlee4966 9 หลายเดือนก่อน

    Thanks so much! This is really helpful.