Greedy Algorithms Explained

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 ม.ค. 2025

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

  • @evgiz0r
    @evgiz0r 3 ปีที่แล้ว +486

    transforming the 0 into 1 was too greedy :)

  • @sumukhjagirdar5860
    @sumukhjagirdar5860 3 ปีที่แล้ว +58

    Hi Tim. Today is my birthday. I love your content

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

      Happy birthday🥳 2 u

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

      Happy birthday❤️

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

      Happy birthday!

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

      happy birthday! 🥳

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

      No one cares it’s your birthday

  • @Rebeljah
    @Rebeljah 3 ปีที่แล้ว +35

    I already had the answer to optimal solution but only because this is EXACTLY what you do in your head when you are comparing prices at a grocery store. Maximizing the value/size ratio to stay within a certain limit (your grocery budget).

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

      The grocery budget is typically a range, so I think the greedy algorithm may be quite helpful.

    • @mintlatte1376
      @mintlatte1376 11 หลายเดือนก่อน +1

      well, in my head I don't have to write a code to make it work, every one walks through the logic and no one shows how on earth I should code all this(

  • @whyisknight6taken
    @whyisknight6taken 3 ปีที่แล้ว +28

    why isn't it 4,3,2,0 for a sum of 9? at 3:12

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

      It also confuses me. Where does the 1 come from?

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

      @@shdwshdw-mu6vo If 4 = 4 and 3 = 3, then 0 does not = 1

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

      @@shdwshdw-mu6vo no that's not true, 0 and 1 are completely different. Values other than 0 maybe treated as 1 in some cases but i have never seen 0 treated as 1. Tim most likely just made a mistake there.

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

      it shouldn t he messed up :)

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

      I'm sure it was a mistake

  • @736939
    @736939 3 ปีที่แล้ว +78

    Tim, please more videos like this. 20-30 videos of Greedy algorithms then 20-30 videos of Dynamic programming, then Divide and Conquer - this is the real programming: Django, Flask, React everyone can learn fast, but Algorithms are more important.

    • @dylanwilliams9860
      @dylanwilliams9860 3 ปีที่แล้ว +12

      Do you realise how much work goes into even a single video? The research and fact checking, development, storyboarding, editing and all the steps I didnt mention mean a 20 minute video for us takes 2-4 days each to make. 20 videos is way way way overkill for just about anything you could want to learn. You would actually want like 3-5 videos on it as thats an hour and a half of lectures, is more than enough to explain a topic, and won't take him a full year to get out.

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

      @@dylanwilliams9860 This. Most people dont realize that they get literal days of work for absolutely free on TH-cam

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

      @@dylanwilliams9860 Yes, I realize, but anyone can spend 15-20 minutes for creating video to discuss only one competitive programming problem.

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

      @@736939 first off, competitive programming is fun. But its full of bad practices that should never be within 300 light-years of production code. Secondly, I just said the videos take days to create and check. Most Vlogs even take several hours worth of takes for big channels. The only time something takes "20 minutes" is in your head or on stream.

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

      Or maybe you could create your own youtube channel and let people upload the content that they want?

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

    Nice video, also a good example because I actually understood on my own the greedy algorithm of the fractional knapsack problem. Keep making videos about algorithms !

  • @raghaventrarajaram
    @raghaventrarajaram 6 หลายเดือนก่อน +2

    Thanks for the help brother.

  • @Raghav1205
    @Raghav1205 3 ปีที่แล้ว +10

    Hi Tim can we expect more questions on algoexpert?

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

    this is just explain for "Fractional Knapsach Problem" solved by "Greedy Algorithms", there are many more Problems we can use "Greedy" to resolve.
    but this clip is good at explaining so well done.

  • @khimleshgajuddhur6892
    @khimleshgajuddhur6892 3 ปีที่แล้ว +25

    3:12
    you said: we select 0 but how can you get 1 then 😕😁😢

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

      Yeh I was thinking the same... max total would be 9?

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

      @@RobertPorterNZ yes🙄

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

      I think it's an error, you should bring down 0, which would make the sum 9, like @Robert Porter said.

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

    Hello .
    I am new to this topic - however with your explanation and some maths background this is easy topic to understand.
    Excellent explanation.
    Tim you are doing a superb job- keep it up.

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

    You always upload a video on the topic I wanna learn haha. (btw idk if you knew this but fresca in arabic means a type of sweet snacks :D )

  • @ajaswanth6607
    @ajaswanth6607 3 ปีที่แล้ว +15

    Why 1 instead 0

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

    Can we expect a playlist on greedy or DP?

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

    Tons of thanks.. I hope you will continue to more algorithms

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

    We're greedy more algorithms in future 🔥

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

    I would like to see contents on dynamic programming too tim

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

    Thank you very much!!
    I'll try implementing this in a c++ program.

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

    Love the content. Fair play to you keep it coming

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

    Do a series on Metaheuristics, the video simplifies alot what I know is a very difficult subject, not all problems are small enough to solve like this in code or have simple heuristics to solve. I am interested in more videos on this kind of algorithms of optimization.

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

    I loved this video. Please continue this algorithms and data structures series

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

    Algorithm: *Laughs* *in* *Mr* *Krabs*

  • @Cookie-mv2hg
    @Cookie-mv2hg 3 ปีที่แล้ว +3

    I'm all in for an algorithm series from Tim ! I'll even pay for that!!

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

    def algorithm(items, capacity):
    ratio = sorted([(size, value, value / size)
    for size, value in items], key=lambda tup: tup[2], reverse=True)
    total_size = total_value = 0
    for size, value, _ in ratio:
    new_size = total_size + size
    if new_size > capacity:
    break
    total_size = new_size
    total_value += value
    else:
    return total_value
    return total_value + (capacity - total_size) / size * value
    items = ((22, 19), (10, 9), (9, 9), (7, 6))
    capacity = 25
    print(algorithm(items, capacity))

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

    Greedy means the solution is self-similar - it works at smaller scales (subsets) within the same input.

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

    thank you so much!

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

    Now this is more like it!! 🔥

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

    Awesome ty for the explanation! Any chance on going over a flow (vector) field in the future?

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

    This is really useful Tim, but you might want to be slightly more careful with the numbers you say and write on the screen lol. A couple of times you misspoke or mis-wrote.

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

    Good video dude, how would you implemnt this algo in python, can you do a practical example

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

    Great video. I have this exact problem in Skyrim.

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

    Expecting more ds and algo

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

    NEED MORE DS AND ALGO!❤❤❤❤

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

    yeaaaaaa boii tim made an algorithm video
    this gonna be amazing

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

    love how you explain

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

    please make a algoithm and data structures tutorial

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

      Pretty big topic lol

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

    funny thing is 18 is also the optimal solution for non-fractional units, isn't it? A lucky example :p

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

    please more videos like this

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

    Fun Fact: Texting robots on Mars use python to send images to the earth. It
    uses request module to communicate with the API on mars.

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

    ??? If you can get fractions of item, why not just select the best value/size item for all? What's the point in just getting one of it? Really don't understand how this derives any optimal solution.

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

    I would solve it with recursion just like the coins exchange problem

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

    tim when are you doing more podcasts? pls reply

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

    the handwriting is not so bad man.
    Its better than mine 😆

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

    And what about the code how they look like?

  • @Ben-jw7yw
    @Ben-jw7yw 3 ปีที่แล้ว

    Are we just suppose to ignore his cat? 0:09

  • @harshit.chitkara
    @harshit.chitkara 3 ปีที่แล้ว

    Wassup Fresca? How's life on Tim's keyboard?

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

    I've never thought that a fractional knapsack problem could be much easier to solve than a original DP knapsack problem 😂

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

    The Hamster Kombat problem

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

    Will Dynamic Programming (DP) be explained in the video? hahaha

  • @PP-tc1zp
    @PP-tc1zp 3 ปีที่แล้ว

    Hi Tim
    Can You make tutorial about implemate ai to some game(like birds example) in python? It was super.

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

    Awesome 😎

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

    Hey tim! what's up!

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

    Brother Mico graddy solution please

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

    Like for the cat:3

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

    that's a backpack of holding (for the tibia player 🤪)

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

    my hash rate is 0.053mh/s why ;-; rx 470 4gb binance

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

    hey there 😃

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

    not clearly able to understand

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

    Hi Tim. Today is my bathday. I like your

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

    can you put indonesian text translite plz🥺

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

    Bruteforce

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

    KITTY.

  • @AMIN-yn5nl
    @AMIN-yn5nl 3 ปีที่แล้ว

    😍😍😍♥♥

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

    Thank you for wasting my 17 minutes and 47 seconds

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

    KITTY

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

    First

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

    9 mins ago.

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

    Yayyy cattt :)

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

    too much yapping

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

    Tim, with all due respect. Pretty please invest in a digital inkpad your handwriting is worse then a busy doctors... Writing with the mouse is hard but I think you will be fine with a e-pad.