Quicksort Algorithm: A Step-by-Step Visualization

Sdílet
Vložit
  • čas přidán 6. 09. 2024
  • In this video, we will take a closer look at the Quicksort Algorithm and its implementation. We will start by explaining the basic concepts behind the algorithm, such as the pivot element, partitioning, and recursion. We will then walk through a step-by-step example to illustrate how the algorithm works through a step by step visualization.
    Quicksort Algorithm is one of the most widely used and efficient sorting algorithms in computer science. I will show you how to sort an array from least to greatest. It is a divide-and-conquer algorithm that recursively partitions an array or list of elements into smaller sub-arrays, and then sorts these sub-arrays in place. You also need to select a pivot, and for this video we always pick the middle index. The algorithm was first developed by Tony Hoare in 1959 and has since been optimized and improved upon by many researchers.
    Additionally, we will cover some of the key features of Quicksort, such as its ability to handle large data sets and its performance characteristics. We will also discuss some of the potential pitfalls and limitations of the algorithm.
    By the end of this video, you will have a solid understanding of how the Quicksort Algorithm works and how it can be used to efficiently sort data. Whether you are a beginner or an experienced programmer, this video is sure to provide valuable insights into this essential sorting algorithm

Komentáře • 76

  • @ethanaustin_17
    @ethanaustin_17 Před měsícem +8

    After watching a bunch of videos I finally came across one that I understood!

    • @QuocDatPhung
      @QuocDatPhung  Před měsícem +1

      Thank you Ethan! Please kindly share with your friends and subscribe to support me (it means a lot) ~ you can find all of my CS videos in this link: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @LUCAZAMA-or2dt
    @LUCAZAMA-or2dt Před 5 měsíci +14

    It's been two hours searching for a decent quicksort explanation and came across this great video, consider taking the path of the teacher if you are not already into it. Much love

    • @QuocDatPhung
      @QuocDatPhung  Před 5 měsíci +2

      Thanks a lot Lucazama! You can find all of my CS videos like Quick Sort in the following link (don't forget to share with others and kindly subscribe!): czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

    • @LUCAZAMA-or2dt
      @LUCAZAMA-or2dt Před 4 měsíci +1

      @@QuocDatPhung do not worry about it, i have already done all of that

    • @QuocDatPhung
      @QuocDatPhung  Před 4 měsíci +1

      @@LUCAZAMA-or2dt Thanks so much!

  • @ConorLambert
    @ConorLambert Před měsícem +6

    Absolute best video on Quicksort.
    I was looking at other vids from people with millions of subscribers and nowhere near as good as this.
    Thank you my good friend.

    • @QuocDatPhung
      @QuocDatPhung  Před měsícem +2

      Thank you for your kind words Conor! Please kindly share with your friends and subscribe to support me ~ also you can find all of my CS videos in this link: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @jeremysmelley7143
    @jeremysmelley7143 Před 11 měsíci +20

    This is definitely top 2 quicksort videos i've watched. Highly underrated, this helped a lot, thanks!

    • @QuocDatPhung
      @QuocDatPhung  Před 11 měsíci +2

      Thanks Jeremy! Please kindly subscribe and share! You can find all of my Data Structure videos here: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @abramweigant2438
    @abramweigant2438 Před 12 dny +1

    I never leave comments, but this video was incredible; good job, man!

    • @QuocDatPhung
      @QuocDatPhung  Před 3 dny +1

      Thank you AbramWeigant! Please kindly share with your friends and subscribe to support me (it means a lot) ~ you can find all of my CS videos in this link: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @MariusCiutea
    @MariusCiutea Před 2 měsíci +1

    I can't believe how well explained this is! And I'll never understand why college professors seem incapable of explaining in such an easy to understand manner.

    • @QuocDatPhung
      @QuocDatPhung  Před 2 měsíci +1

      Thank you for your kind words Marius! Please kindly share and subscribe~ all of my CS videos are in this link: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @g.r.4372
    @g.r.4372 Před 2 měsíci +4

    I was 100% from beginning to end. You're a great teacher.

    • @QuocDatPhung
      @QuocDatPhung  Před 2 měsíci +3

      Thank you G.R! Please kindly share and subscribe~ you can find all of my CS videos in this link: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @oshawastaken
    @oshawastaken Před 9 měsíci +8

    This is by far the best explanation of quicksort on yt, thank you!

    • @QuocDatPhung
      @QuocDatPhung  Před 9 měsíci +1

      Thanks so much! Please kindly also check out my Merge Sort video: czcams.com/video/ho05egqcPl4/video.html

  • @Bromon655
    @Bromon655 Před 5 měsíci +8

    I watched a lot of quicksort videos and this was the first one that clicked with me. Well done

    • @QuocDatPhung
      @QuocDatPhung  Před 5 měsíci +2

      Thanks a lot Bromon! You can find my other CS videos in this playlist: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @khoadoan8966
    @khoadoan8966 Před 3 měsíci +1

    Bro, you're amazing, explaining the complex processes so easily. Haven't touched DSA for a long time, and then having to learn it all over again after being laid off is really hard for me as I'm not as young. You've just helped me understand fuzzy complex knowledge really really well. Thank you !

    • @QuocDatPhung
      @QuocDatPhung  Před 3 měsíci +2

      Thank you Khoa! I'm really happy to hear that! Pleased kindly share ~ you can find all of my CS videos in this link: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

    • @khoadoan8966
      @khoadoan8966 Před 3 měsíci +1

      @@QuocDatPhungI’ll share it, and have a look at your playlist. Really appreciate your contents.

  • @user-oh2tr8vw1u
    @user-oh2tr8vw1u Před 23 dny +1

    Very clear and correct explanation. Thank you so much for making an effort to explain this the correct way!

    • @QuocDatPhung
      @QuocDatPhung  Před 3 dny +1

      Thank you! Please kindly share with your friends and subscribe to support me (it means a lot) ~ you can find all of my CS videos in this link: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @KnochenMarkSaege
    @KnochenMarkSaege Před 6 měsíci +3

    I've watched a few videos on this topic, and this one helped me personally the most, by far. Thank you for taking the time to explain in detail every step that is necessary to achieve the wanted effect. Also, explaining how the code behind it works really helped me grasp the concept.
    Thank you very much for your effort :)

    • @QuocDatPhung
      @QuocDatPhung  Před 6 měsíci +1

      Thanks so much KnochenMarkSaege! I'm really happy that you found my video useful! I have an entire playlist on Algorithms; you might also like my 3 min Merge Sort explanation: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @harrygray9887
    @harrygray9887 Před 10 měsíci +5

    outstanding work amigo. I was expecting thousands of comments.

    • @QuocDatPhung
      @QuocDatPhung  Před 10 měsíci +2

      Thank you so much Harry! Please kindly subscribe and share with your classmates. It really means a lot. Also, if you like my Quicksort video, you might also like my 4 min Merge sort video: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @annarankin9103
    @annarankin9103 Před 7 dny +1

    Thank you Quoc, this video has been very helpful.

    • @QuocDatPhung
      @QuocDatPhung  Před 3 dny +1

      Thank you Anna! Please kindly share with your friends (it means a lot) ~ you can find all of my CS videos in this link: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @mm-en1rf
    @mm-en1rf Před 4 měsíci +2

    I appreciate the video greatly, I went through 2 other quicksort videos and this was the only one of the three which I could easily comprehend.
    I'll be sure to visit your other videos when it comes to understanding more comp sci content !!

    • @QuocDatPhung
      @QuocDatPhung  Před 4 měsíci +2

      Hey there I'm really glad you found it helpful! You can find all of my CS videos in the link below (don't forget so share with your classmates to help them too!) czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @strawberriesandcream2863
    @strawberriesandcream2863 Před 10 měsíci +4

    best quicksort video i've watched that helped me clarify the concept :) thanks!

    • @QuocDatPhung
      @QuocDatPhung  Před 10 měsíci +2

      Thanks so much Strawberries! I think you'll like my Merge Sort animation too! Please check it out here: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @st-lucia
    @st-lucia Před rokem +7

    Thank you!

    • @QuocDatPhung
      @QuocDatPhung  Před rokem +4

      Thanks so much, St-Lucia - Castria La Patria! Please kindly subscribe! You can find the rest of my Algorithms videos here: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @JacobChencha
    @JacobChencha Před měsícem +1

    That was a beautiful explanation!

    • @QuocDatPhung
      @QuocDatPhung  Před měsícem +1

      Thank you Jacob! Please kindly share with your friends and subscribe to support me ~ you can find all of my CS videos in this link: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @ananthaprasetya3263
    @ananthaprasetya3263 Před 12 dny +1

    Hi sir, why we need to swap array L and R with the same index? both already the same value.. Thanks

    • @QuocDatPhung
      @QuocDatPhung  Před 3 dny

      The algorithm will still swap them even though they are the same :)

  • @lowe7372
    @lowe7372 Před 6 měsíci +1

    Best explanation, and best mindset to approach the algorithm. The game example is AWESOME. Thank you very much! please do more

    • @QuocDatPhung
      @QuocDatPhung  Před 6 měsíci +1

      Thank you very much! I have an entire playlist of my Algorithms; I hope you'd enjoy my Merge Sort video as well: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @stormShadow64
    @stormShadow64 Před 2 měsíci +1

    awesome video, very clear

    • @QuocDatPhung
      @QuocDatPhung  Před 2 měsíci +1

      Thank you! Pleased kindly share and subscribe~ you can find all of my CS videos in this link: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @NucEstFemicomunismo
    @NucEstFemicomunismo Před 5 měsíci +1

    Thank you. Best explanation

    • @QuocDatPhung
      @QuocDatPhung  Před 5 měsíci +1

      You're welcome! You can find all of my CS videos in this playlist (don't forget to share and kindly subscribe!): czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @Harshavardhan-pk3pk
    @Harshavardhan-pk3pk Před 3 měsíci +1

    good explaination must watch

    • @QuocDatPhung
      @QuocDatPhung  Před 3 měsíci +1

      Thank you! Pleased kindly share and subscribe~ you can find all of my CS videos in this link: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @awieeeee
    @awieeeee Před 8 měsíci +1

    hello, what if the mid index results in a decimal value? what number should i choose?
    the values are (5,1,8,4,3,9,6,2), so
    mid index:
    m = 0 + 7 / 2 = 7/2 or 3.5
    where should the pivot be placed?

    • @QuocDatPhung
      @QuocDatPhung  Před 8 měsíci +2

      The formula for calculating mid at 0:25 has the floor sign (meaning to round down). So if m =3.5, we simply round down to 3. Let me know if that makes sense! You may also like my Merge Sort video :)

  • @romanvolosiuk3919
    @romanvolosiuk3919 Před 9 měsíci +2

    It really helped me. Thanks!

    • @QuocDatPhung
      @QuocDatPhung  Před 9 měsíci +2

      You're very welcome Roman Volosiuk! Please kindly subscribe! You can also find the rest of my Algorithms videos in this playlist: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @phoenixkomben-ie9xq
    @phoenixkomben-ie9xq Před 3 měsíci +1

    Great video

    • @QuocDatPhung
      @QuocDatPhung  Před 3 měsíci +1

      Thank you Phoenix! I think you'll like my other Sort videos too! Don't forget to share with your classmates and kindly subscribe ~ you can find all of my CS videos in this link: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @samuraijosh1595
    @samuraijosh1595 Před 5 měsíci +2

    Hey thanks for the video, quick and to the point with nice visuals but how is space complexity O(log n)???

    • @QuocDatPhung
      @QuocDatPhung  Před 5 měsíci +2

      You're very welcome Doremon! The space complexity depends of where you choose the pivot. I wouldn't worry too much about it. You can find all of my CS videos in this playlist below (don't forget to share and kindly subscribe!): czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

    • @samuraijosh1595
      @samuraijosh1595 Před 5 měsíci +1

      @@QuocDatPhung never mind I learnt that it was the stack space, log n function calls in the stack. Since quick sort is hyped up as in place sorting, I just assume constant space. Tbf, I've seen leetcode questions where it was advised to just ignore the recursion function stack space and treat the whole thing as if it was constant space. A bit inconsistent...

    • @QuocDatPhung
      @QuocDatPhung  Před 5 měsíci +1

      @@samuraijosh1595 Thanks for letting me know!

  • @naza2105
    @naza2105 Před 7 měsíci +2

    trank you so much

    • @QuocDatPhung
      @QuocDatPhung  Před 7 měsíci +2

      You're welcome Naza! Please kindly subscribe if you enjoyed! Also, you can find all of my Algorithms videos here: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @samirpandit8899
    @samirpandit8899 Před měsícem +1

    the goattt

    • @QuocDatPhung
      @QuocDatPhung  Před měsícem +1

      Thank you SamirPandit! Please kindly share with your friends and subscribe to support me (it means a lot) ~ you can find all of my CS videos in this link: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @coryanders6328
    @coryanders6328 Před 7 měsíci +1

    easily the best video i've seen on this. all the other ones give very poor, if any, explanation as to what they are doing

    • @QuocDatPhung
      @QuocDatPhung  Před 7 měsíci +1

      Thanks so much Coryanders! You'll probably like my 3min Merge Sort video as well: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @TungNguyen-oi4xo
    @TungNguyen-oi4xo Před 7 měsíci +1

    cảm ơn e, giảng rất dễ hiểu

    • @QuocDatPhung
      @QuocDatPhung  Před 7 měsíci +2

      Cám ơn anh! Em có làm clip về Merge Sort và các algorithms khác ở đây nè: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @yaelw5986
    @yaelw5986 Před 8 měsíci +1

    does this method use hoare's partitioning

    • @QuocDatPhung
      @QuocDatPhung  Před 8 měsíci

      No I don't think so. I hope you enjoy this video! If you do, you might also like my Merge Sort video too: czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @thuhuynh7474
    @thuhuynh7474 Před 5 měsíci +1

    Anh nhìn xịn quáaaa

    • @QuocDatPhung
      @QuocDatPhung  Před 5 měsíci +1

      Hehe cám ơn em! Tất cả clip máy tính của anh nằm trong link sau đây (em đừng quên chia sẻ và đăng kí ủng hộ anh nhé!): czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html

  • @hasanshahriarboni7957
    @hasanshahriarboni7957 Před 9 měsíci +3

    • @QuocDatPhung
      @QuocDatPhung  Před 9 měsíci +1

      Thanks very much Hasan! I hope you will also enjoy my Merge Sort video: czcams.com/video/ho05egqcPl4/video.html

  • @prashantnegi6831
    @prashantnegi6831 Před 4 měsíci +1

    can anybody reply with python code for this?

    • @prashantnegi6831
      @prashantnegi6831 Před 4 měsíci +1

      don't worry, wrote it in java with the help from your python code, thanks

    • @QuocDatPhung
      @QuocDatPhung  Před 4 měsíci +1

      You're very welcome! You can find all of my CS videos in the link below (don't forget to share with your classmates!): czcams.com/play/PLeTO6OT3-FKmuxOu4RtupTay1yrMp6QGC.html