Quick Sort Algorithm Explained (Full Code Included) - Python Algorithm Series for Beginners

Sdílet
Vložit
  • čas přidán 24. 07. 2024
  • This is a part of a full algorithm series - Check it out here:
    • Bubble Sort Algorithm ...
    Kite helps fund the channel, thanks for checking them out and supporting me --
    ⭐ Kite is a free AI-powered coding assistant that will help you code faster and smarter. The Kite plugin integrates with all the top editors and IDEs to give you smart completions and documentation while you’re typing. www.kite.com/get-kite/?...
    #Python #QuickSort #Algorithm
    In this one we're covering the quick sort algorithm! One of the favorite sorting algorithms due to its speed in an average case.
    The Quick Sort algorithm takes an item from the unsorted list and uses it as the 'pivot' or the item to compare the remainder of the items in the list. We do comparisons placing the items in lists according to if they are larger or smaller than the pivot value.
    We repeat this process creating smaller and smaller lists until we have list values of one which have been sorted.
    Join The Socials -- Picking Shoutouts Across CZcams, Insta, FB, and Twitter!
    FB - / codewithderrick
    Insta - / codewithderrick
    Twitter - / codewithderrick
    LinkedIn - / derricksherrill
    GitHub - github.com/Derrick-Sherrill
    Thanks so much for the continued support of the channel! You guys are awesome and I'm very thankful to be at this point. 5,500+ subscribers at the time of writing. Thank you all so much!
    *****************************************************************
    Full code from the video:
    def quick_sort(sequence):
    length = len(sequence)
    if length #less than= 1:
    return sequence
    else:
    pivot = sequence.pop()
    items_greater = []
    items_lower = []
    for item in sequence:
    if item #greater than pivot:
    items_greater.append(item)
    else:
    items_lower.append(item)
    return quick_sort(items_lower) + [pivot] + quick_sort(items_greater)
    print(quick_sort([5,6,7,8,9,8,7,6,5,6,7,8,9,0]))
    #CZcams Doesn't allow angled brackets - Sorry about that!
    github.com/Derrick-Sherrill/P...
    Packages (& Versions) used in this video:
    Python 3.7
    Atom Text Editor
    *****************************************************************
    Code from this tutorial and all my others can be found on my GitHub:
    github.com/Derrick-Sherrill/D...
    Check out my website:
    www.derricksherrill.com/
    If you liked the video - please hit the like button. It means more than you know. Thanks for watching and thank you for all your support!!
    --- Channel FAQ --
    What text editor do you use?
    Atom - atom.io/
    What Equipment do you use to film videos?
    www.amazon.com/shop/derricksh...
    What editing software do you use?
    Adobe CC - www.adobe.com/creativecloud.html
    Premiere Pro for video editing
    Photoshop for images
    After Effects for animations
    Do I have any courses available?
    Yes & always working on more!
    www.udemy.com/user/derrick-sh...
    Where do I get my music?
    I get all my music from the copyright free CZcams audio library
    czcams.com/users/audiolibrary...
    Let me know if there's anything else you want answered!
    -------------------------
    Always looking for suggestions on what video to make next -- leave me a comment with your project! Happy Coding!
  • Věda a technologie

Komentáře • 394

  • @NEMOBANDZBEATS
    @NEMOBANDZBEATS Před 2 lety +48

    This is the best explanation I have seen so far. It’s like other people try to explain things in the hardest way possible so you could think they’re more smart lol

  • @ugurdev
    @ugurdev Před 3 lety +60

    Hey man, you are one of the most underrated channels on youtube for Python. It is sad to see you haven't uploaded in a while, but I hope everything is going well for you. Thank you for all you have done.

  • @tai-shanlin615
    @tai-shanlin615 Před 4 lety +360

    this is the cleanest implementation of quicksort that I have seen. period. So easy to follow! Subscribed

    • @UnknownSend3r
      @UnknownSend3r Před 3 lety

      100% it was clear and concise.

    • @riszard999
      @riszard999 Před 3 lety +7

      it's slower and has bigger memory complexity :)

    • @tursunalikholdorov1853
      @tursunalikholdorov1853 Před 3 lety +1

      @@riszard999 Do you know more efficient implementation?

    • @UnknownSend3r
      @UnknownSend3r Před 3 lety

      @Leland Jon ofcourse we care that you hacked her account in 15 mins, Il be sure to use it once I've replied to that Nigerian prince that's been messaging me recently.

    • @waseemq1522
      @waseemq1522 Před 3 lety

      FRRR

  • @ctormin
    @ctormin Před 3 lety +16

    I wish every video on the internet was like this. You made my day, for real.

  • @fuleswaripal9536
    @fuleswaripal9536 Před 3 lety +15

    Why is this dude so underrated . I was searching for tutorials of sorting algorithms I didn't find a single video which explained well and mostly all the sorting videos were about bubble sort . Now after 2 days his video come to my recommendation.And yeah bro keep up the good work I can't even explain how much these sorting tutorials helped me keep it up . You will surely get what you deserve once👍👍😁

  • @user-ze7sj4qy6q
    @user-ze7sj4qy6q Před 3 lety +2

    just found this channel rn and this dude is so easy to understand and chill (but not boring) untapped resource of knowledge right here

  • @user-ky2vl2wm3j
    @user-ky2vl2wm3j Před 2 lety +1

    With all that animation and description, it was great. So clean. I'm a beginner at programming and yet all this made complete sense. Thanks, man. Subscribed.

  • @glorysonhorace3265
    @glorysonhorace3265 Před 2 lety +1

    I'd definitely recommend this channel to everyone who wants to learn DSA in a very clear and easy-to-understand way. Thanks Derick Sherrill for this tutorial. Keep posting more and more videos

  • @anshimagarg9661
    @anshimagarg9661 Před 3 lety +8

    Oh my god !! The best video of quick sort ! This is the first time I visited your channel and I'm totally recommending this to all my friends !!! thanks s lot ❤️❤️

  • @Sixthfred
    @Sixthfred Před 4 lety +15

    Although it isn't in-place, your tutorial was very simple to understand and should definitely be how Quicksort ought to be taught!

  • @shreehari2589
    @shreehari2589 Před 3 lety +2

    This gotta be the awesomest explanation about quick sort, great job Derrick keep up the good work, i hope to see more data structures and algorithms tutorials from you!!!

  • @benjaminbennington213
    @benjaminbennington213 Před 3 lety

    Wow that was amazingly simple. I learned this a while ago in college, but my teacher made it a 3 week process that was beyond confusing. That was so clean and simple. Great job. I immediately subscribed.

  • @chesslearn8103
    @chesslearn8103 Před 4 lety +7

    I have finally found a clear, well explain and simple answer to my questions. Ty very much.

  • @UnrecycleRubdish
    @UnrecycleRubdish Před 4 lety +17

    This was incredible. Thank you for explaining these algorithms in simple terms for beginners to understand. Your explanations are clear and your code clean. Cannot be thankful enough.

  • @ayman6237
    @ayman6237 Před 4 lety

    This is the best, cleanest, efficient and the most beginner friendly quick sort algorithm i've stumbled upon. Thanks my man!

  • @dikshyantauprety4020
    @dikshyantauprety4020 Před 2 lety

    The simplicity of this is divine..... Thank you so much

  • @fazilrahmanz9797
    @fazilrahmanz9797 Před 5 měsíci

    I was like keep on looking into many youtube videos to find a perfect video for quick sort then landed over here and got the most easiest and understandable way to code it in python for the quick sort !!

  • @samer820
    @samer820 Před 2 lety

    I have watched multiple quicksort videos and so far this is the best and the cleanest explanation I have seen so far 👍

  • @girishkakumanu4117
    @girishkakumanu4117 Před rokem

    FANTASTIC TUTORIAL! I always thought quick sort was the hardest, but your video helped me learn it thoroughly. Tysm!

  • @Nick-gs4em
    @Nick-gs4em Před 2 lety

    Bro keep doing what you're doing I spent like an hour trying to understand quicksort, and the code to implement it, and I got it after 5 minutes of your video!

  • @user-ng4bc3cv6g
    @user-ng4bc3cv6g Před 3 lety +4

    Thank you, I understood the algorithm in the first 2 minutes of the video.

  • @0xd4n10
    @0xd4n10 Před 4 lety +1

    Amazing explination! Most of the other tutorials are so hard to follow. Subscribed!

  • @abhinabamajumder4818
    @abhinabamajumder4818 Před 4 lety +2

    Thank you so much specially for simplifying it to such an extent. Artistic elegance!

  • @sud0gh0st
    @sud0gh0st Před 2 lety

    You explained it perfectly in 6 minutes can't argue that this is content with value got my sub

  • @nokibulislam9423
    @nokibulislam9423 Před 4 lety

    this is the most underrated channel i have ever seen .Keep up the good work man

  • @msh104utube
    @msh104utube Před 3 lety

    Nothing beats the smell of clean code in the morning. Great job, very clean code.

  • @Knut_Eisbaer
    @Knut_Eisbaer Před rokem

    That was an incredible explanation, man. That's pure elegance.

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

    Thanks, you have no idea how much this helps.

  • @abhishekbhardwaj7214
    @abhishekbhardwaj7214 Před 4 lety +6

    Thanks for making it a piece of cake man, cheers.

  • @shangliu6687
    @shangliu6687 Před 4 lety

    The best video for quick sort explanation!!! Clean and clear! theoretical and practical!

  • @jonathanphillips5915
    @jonathanphillips5915 Před 3 lety

    This was really helpful man! You explain it so clearly and calmly, thanks a bunch man!

  • @nappdaddy2000
    @nappdaddy2000 Před 4 lety +1

    just finished mosh's python course...was interested in algorithms for sorting and graphing(searching)... Great video, well explained, thanks mate!

  • @armberg8935
    @armberg8935 Před 4 lety

    this channel is amazing, had trouble understanding my lecturer but this was super clear!

  • @webknowledge9989
    @webknowledge9989 Před 2 lety +1

    this is the BEST explanation of quicksort, EVER.

  • @icewreck
    @icewreck Před 3 lety +8

    Quick sort is generally in-place, and your implementation, while simple to understand, is isn't which means it would have a disastrous memory footprint for larger input sets.

  • @kamilosok4454
    @kamilosok4454 Před 3 lety +1

    You wrote this algorithm more clearly than anyone else I've seen

  • @arielm7248
    @arielm7248 Před 3 lety +1

    Amazing explanation!!!!!!!! Much better than what my TA's and Prof did in a whole week.. you did it in 6 minutes!!!! Thank you~~

  • @edwinjonah
    @edwinjonah Před 3 lety

    Wow, it looked so complicated and you just made it simple! Amazing, thanks a lot.

  • @PeizhiYan
    @PeizhiYan Před 10 měsíci

    Absolute amazing! Your tutorial is the best and most understandable I have ever watched!

  • @wissammoussa7540
    @wissammoussa7540 Před 3 lety

    oh my god man thank you!!! I wasted my afternoon watching quicksort animations and I finally understand it

  • @ireneashamoses4209
    @ireneashamoses4209 Před 4 lety

    Amazing!! Thank you so much!! I was looking for ages for a simple explanation and logic 😆💗💗👍👍

  • @engdoretto
    @engdoretto Před 2 lety

    The best explanation I found on the internet… thanks a lot!

  • @nehalzaman1159
    @nehalzaman1159 Před rokem

    Thanks sir! I have seen various implementations of quick sort that literally made no sense to me, until I saw your explanation. That is really an awesome implementation. If I say thanks 100 times, that would still not enough. Keep up the good work, sir!

  • @norbertoignaciojr3365
    @norbertoignaciojr3365 Před 3 lety

    Subscribed!!!
    Very clean and concise explanation!! Im just starting out with algorithms yet you explained it very well :D
    keep going buddy!

  • @richcs8287
    @richcs8287 Před 2 lety

    Hi Derrick,
    Thanks for wonderful and simple explanation of the quick sort algorithms. Never understood the quick sort much better.

  • @robertue1
    @robertue1 Před 2 lety +1

    Great, really simple and easy to follow explanation, thanks Derrick.

  • @rob_dyy
    @rob_dyy Před 3 lety

    This is one of the cleaner implementation of all the quicksort I've seen

  • @ShahidiDewitness
    @ShahidiDewitness Před 4 lety

    Amazing content. I'm reading Grokking Algorithms books and this greatly supplements my knowledge being first time I'm learning these advanced algorithms. Much appreciated and blessings 👊🏿

  • @gabrielkondo5246
    @gabrielkondo5246 Před 2 měsíci

    Bro, this is the best explanation and small and eficient code i've ever seen so far

  • @tingtingcheng6386
    @tingtingcheng6386 Před 10 měsíci

    Amazing, after watching so many videos... I finally got it! so underrated tutorial

  • @kavizz_lifestyle
    @kavizz_lifestyle Před 3 lety

    The best. Dropping a like. Subscribed. Suggested your channel to my friends. Keep doing more videos like this !

  • @miguelmarques6233
    @miguelmarques6233 Před 2 lety

    Such a good and simple way of explaining quick sort! Thank you for sharing!!

  • @lokeshnaidu1935
    @lokeshnaidu1935 Před 3 lety

    Ohhhhhh your code logic simplicity is really awesome derrick

  • @roubarizkallah2172
    @roubarizkallah2172 Před 3 lety +1

    Strongly recommend this video for beginners. Cute guy and great teacher, what else would u ask for XD. More seriously now, short video with good editing going straight to the point and explaining this concept in a simple way. Thank you man, keep it up.

  • @stillbald5827
    @stillbald5827 Před 4 lety

    Thank you! This was super clear and helpful. Would love to see a follow up where you talk about different ways to optimize this.

  • @arunnp7348
    @arunnp7348 Před 2 lety

    Excellent explanation...I went through multiple videos about quick sorting & Hands down , this one is the best !!

  • @alwayssporty8102
    @alwayssporty8102 Před 3 lety

    best quicksort video on this planet thanks bro

  • @shrirajshakunt7203
    @shrirajshakunt7203 Před 3 lety

    Where were you, Derrick...you saved my life. best of best programming video so far.

  • @RobsondaMota
    @RobsondaMota Před rokem

    Thank you for your concise and easy to understand implementation Derrick. Very good videos. Thanks!

  • @nitroflap
    @nitroflap Před 3 lety

    Thanks a lot. I've been searching for something like this. And I've found this video. It helped me create algorithm from scratch and understand it. Thank uuuu!

  • @mohitshetty8535
    @mohitshetty8535 Před 2 lety

    You are making coding easier for me. Thank you.

  • @turjo119
    @turjo119 Před 3 lety

    My God I've been searching for hours for an easy coding solution to follow. Your vid literally saved me! Thank you so much

  • @hitechdivyanshu6329
    @hitechdivyanshu6329 Před 4 lety

    great man this is one of the easiest quick sort algo i've ever seen....liked and subscribed

  • @shiv4667
    @shiv4667 Před 3 lety

    Was thinking of making a sorting visualiser project. Now I can code this in JavaScript for sure. Thanks man!

  • @dharineeshkarthikeyan1868

    Thanks so much ..really helped me understand quick sort much better and in such a easy way

  • @pritam1366
    @pritam1366 Před 3 lety +1

    Man this is by far the best explanation, i wasted my time on so many videos. Thanks man

  • @jesuisravi
    @jesuisravi Před 2 lety

    I appreciate that you take pains to make the coding easy to read. Many coding videos are essentially useless because the presenter doesn't magnify the code.

  • @reversekick4832
    @reversekick4832 Před 3 lety

    Hey @Derrick Sherrill, That was a very straightforward approach. Thanks, really appreciate it!!!!

  • @kobic8
    @kobic8 Před 2 lety

    as always, great explanation Derrick! thanks

  • @ameerhbaig
    @ameerhbaig Před 3 lety

    Awesome videos Man!! One of the Simplest explanations on the internet

  • @hsoley
    @hsoley Před 2 lety

    Amazing Derrick, learned alot!
    Thank you from freezing NYC

  • @rogueceska
    @rogueceska Před rokem

    Fantastic m8 great explanation and nice simple code. You got a sub, hope you get many many more.

  • @srijitbhattacharya6770

    this is certainly one of your top drawer explanantions

  • @gautamacharekar
    @gautamacharekar Před 4 lety +8

    Hi Derrick,
    Thanks for wonderful and simple explanation of the quick sort algorithms. Never understood the quick sort much better.
    Could you also please explain time and space complexity of the algo that you explain. Then it would be more clear to understand advantage of one over other.
    Thanks again

  • @user-hp2kj5rf5d
    @user-hp2kj5rf5d Před rokem

    THANK YOU SO MUCH! This was beyond helpful.

  • @kabirwolly4309
    @kabirwolly4309 Před 3 lety

    This is so clean! Subscribed.

  • @HamzaKhan-zj6dn
    @HamzaKhan-zj6dn Před 5 měsíci

    first time was able to understand this algo....loved it...

  • @sakshiwahi2025
    @sakshiwahi2025 Před 3 lety

    WHOA 🤯🤯 HOW COULD YOU MAKE IT SO EASY TO UNDERSTAND !!!!!

  • @JustMalla
    @JustMalla Před 4 lety +1

    Thanks for the video! Simple and on point ❤️

  • @cesairetchoudjuen7885
    @cesairetchoudjuen7885 Před 3 lety

    My man ! Cheers for the very easy to follow video :)

  • @manolo6048
    @manolo6048 Před 4 lety

    I love your vidz, thumbs up, they are clear and precise.

  • @SuperMixGamer
    @SuperMixGamer Před rokem

    thank you very much, this was the best implementation i could find and the easier to understand

  • @nikomiller6168
    @nikomiller6168 Před 3 lety +55

    Great tutorial! However, quicksort is an in-place algorithm. This implementation is not in-place since it creates new lists rather than modifying the original. The in-place version is naturally a bit trickier, which is why most people seem to get your version better. Nevertheless, this video does a great job in explaining the intuition behind the algorithm.

  • @054siddarth3
    @054siddarth3 Před 3 lety

    Oh my god! this is the best and easiest solution of quicksort, thank you so much.

  • @tuesdayb3957
    @tuesdayb3957 Před rokem

    Thank you for this. I wish I saw this prior to my coding interviews. New subscriber here

  • @helikopter1231
    @helikopter1231 Před 2 lety

    This pythin solution was soooooo much easier to understand! Thank you!

  • @hamzaahmad1224
    @hamzaahmad1224 Před 2 lety

    Loved this! Very helpful

  • @jessicar4405
    @jessicar4405 Před 4 lety

    omg it finally makes sense now, thank you so much for the simple implementation!

  • @pratikzajam799
    @pratikzajam799 Před 4 lety +38

    man ur amazing, understood first time quick sort in my life

  • @stevehoang9
    @stevehoang9 Před rokem

    Thank you for your explanation. It's super clear and easy to understand!

  • @aleksanderwieland6668

    Great explanation, simply the best! Thank you!

  • @nabnita6182
    @nabnita6182 Před 3 lety

    Omg!! It is that simple. Thanks man!

  • @ZinduZatism
    @ZinduZatism Před 4 lety

    U R D Man, many thanks, others explain logarithm over half hour and still struggle to understand, urs short, clear and easy thank you subscribed. please make video of merge sort as well if possible.
    thank you

  • @shahzan525
    @shahzan525 Před 4 lety +1

    Awesome man awesome ......
    I never see that easiest explanation on CZcams......
    But damm absolutely great.....

  • @nvroshni1546
    @nvroshni1546 Před 3 lety

    thank you Derrick, easy and uderstandable explaination! Thanks a lot!

  • @waseemq1522
    @waseemq1522 Před 3 lety

    Ur the best Derrick , keep it up!!

  • @andersontiban5356
    @andersontiban5356 Před rokem

    You explained that so clearly! Thank you

  • @JP-xe6gn
    @JP-xe6gn Před 3 lety

    Thanks Derrick ! Very well explained !

  • @souvikguria1414
    @souvikguria1414 Před 3 lety +1

    after going over 4-5 paid rock hard explanations I found your channel....liked, shared, subscribed faster than any sorting algorithm :P

  • @raweenweerakoon6086
    @raweenweerakoon6086 Před 2 lety

    Superb one ☝️ even our lecturer was unable to give complete idea and unable to gave a code like this simple. it was very complicated i gave it up then searched and fined this what an algorithm great keep your good work😊❤️