Learn Quick Sort in 13 minutes ⚡

Поділитися
Вставка
  • Опубліковано 2 чер 2024
  • Quick sort data structures and algorithms tutorial example explained
    #quick #sort #algorithm
    00:00:00 explanation
    00:05:00 demonstration
    00:07:47 code
    // quick sort = moves smaller elements to left of a pivot.
    // recursively divide array in 2 partitions
    // run-time complexity = Best case O(n log(n))
    // Average case O(n log(n))
    // Worst case O(n^2) if already sorted
    // space complexity = O(log(n)) due to recursion
    music credits 🎼:
    ===========================================================
    Title: A Caring Friend
    Artist: Bad Snacks
    Link: • bad snacks: UA-cam Au...
    ===========================================================
  • Наука та технологія

КОМЕНТАРІ • 262

  • @BroCodez
    @BroCodez  2 роки тому +448

    This was the most difficult video I've ever made
    It almost convinced me to quit coding tutorials 😩
    You should give it a like, it would motivate me 👍
    public class Main{

    public static void main(String args[])
    {
    // quick sort = moves smaller elements to left of a pivot.
    // recursively divide array in 2 partitions
    // run-time complexity = Best case O(n log(n))
    // Average case O(n log(n))
    // Worst case O(n^2) if already sorted

    // space complexity = O(log(n)) due to recursion

    int[] array = {8, 2, 5, 3, 9, 4, 7, 6, 1};

    quickSort(array, 0, array.length - 1);

    for(int i : array){
    System.out.print(i + " ");
    }
    }
    private static void quickSort(int[] array, int start, int end) {

    if(end

    • @irfanhakim4617
      @irfanhakim4617 2 роки тому +13

      the fact that you just handle a new programmer/coder generation by yourself is really crazyy bro

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

      Whoaaa how did ya do that simply :( ☺️

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

      Quit coding tutorials! No that was one of the best technics you ever did. That effort brought this masterpiece, thank you.

    • @SLIME-gx6fo
      @SLIME-gx6fo 2 роки тому +1

      Teach about ai

    • @westmakaveli4003
      @westmakaveli4003 2 роки тому +4

      If only I could smash that like bottom more than once. You really deserve the " likes " bro. Thank you for your help bro.

  • @grecha6322
    @grecha6322 2 роки тому +538

    I can`t believe that exists the guy who has knowledges of all Indian tutorials and he can explain it so aesthetically well. Keep it up! With love from Moscow

    • @dumdumbringgumgum2940
      @dumdumbringgumgum2940 2 роки тому +39

      Are you saying we don't explain in an aesthetically well manner?? I'm taking offence to that.. jk 🤣
      love from India.

    • @synacktra
      @synacktra 2 роки тому +5

      @@NexushasTaken I am Indian, and I agree with you 🤣

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

      @@synacktra why bro

    • @poulomidutta4997
      @poulomidutta4997 Рік тому +6

      @@NexushasTaken what's so annoying about our accent? I find it sweet and it varies from person to person

    • @2clau
      @2clau Рік тому +11

      @@poulomidutta4997 it's not the accent, it's all the Tamil interjections that throw me off.

  • @hawns3212
    @hawns3212 2 місяці тому +12

    Fun fact, you can swap 2 numbers without a temp variable by doing the following
    int a = 5;
    int b = 10;
    a = a + b; // 15
    b = a - b; // 15 - 10 = 5
    a = a - b; // 15 - 5 = 10
    Not really useful, but a funny tip to know

  • @hollowkaze8728
    @hollowkaze8728 2 роки тому +10

    just finished ur entire java playlist and now the data structures playlist, this channel has really kept me busy this past summer and has really helped me out, never stop doing what ur doing!!

  • @austinolmsted9432
    @austinolmsted9432 2 роки тому +20

    I am absolutely baffled how high quality your videos are. You make everything so easy and fun to understand and learn. Keep up the good work!

  • @derfwerd
    @derfwerd Рік тому +80

    I quit my job as a data analyst at a big company to become a SWE. Your videos went from being a supplement to another resource to the main resource I lean on in many cases. When I crush my technical interview some time next year, I will let you know. Thanks bro. You are great at what you do and deserve all the success that comes to you.

    • @duonghuong5738
      @duonghuong5738 Рік тому +2

      Hello? I have same plan as you, would be great if we can share strategy to learn in this path

    • @saadshakeel6045
      @saadshakeel6045 7 місяців тому +6

      It has been 1 year..! Waiting for the news haha

    • @ogs3721
      @ogs3721 7 місяців тому +1

      It doesn’t matter if you have crushed or not, but you tried. That’s what matters the most. If you haven’t yet, let’s try together.

    • @xTriplexS
      @xTriplexS 3 місяці тому

      How did it go?

    • @a.m.4154
      @a.m.4154 3 місяці тому +5

      Guess it didn't go well.

  • @HatzzRotmg
    @HatzzRotmg 2 роки тому +4

    I have been trying to understand quicksort by so many different teachers, videos, and forums and this video finally made me understand it. Thank You!

  • @seanfischler1320
    @seanfischler1320 8 місяців тому +3

    dawg your visual representations are absolutely saving me rn, love you

  • @irrationallymadphysicist6945
    @irrationallymadphysicist6945 2 роки тому +10

    Thanks for the concise and clear explanation! Animation can be a pain but know that your hard work is definitely being appreciated

  • @tubeyoueh
    @tubeyoueh 9 місяців тому +2

    Something about quicksort was just not clicking with me before I found this video. I've never gone from being so confused by a concept to understanding it so well in such a short amount of time. I never comment on youtube videos but this absolutely deserved some praise. Well done and thank you!

  • @bryanlee5522
    @bryanlee5522 Рік тому +6

    4 minutes in, and I totally understand it now. Good job. Showing what happens each step helped. This is better than the other video I watched "explain in 4 minutes". Left my clueless. And with your video, I get it immediately.

  • @sumansamanta330
    @sumansamanta330 2 роки тому +15

    Bro! Hats off to you man 😍 Completed the whole playlist 😎 All the basics are now fully cleared! Those real-life examples of stacks, queues, and LinkedList were awesome and all the shorting algorithms are now crystal clear. More power to you man.✌️🙏🙏

  • @sahu_SuMiT
    @sahu_SuMiT Місяць тому +3

    really unbelievable to have u who can put all those recursive and iteration into a movie like animation... just sitback, relax and enjoy what happens .........Awesome, truly awesome.....❤

  • @abhishekdev5251
    @abhishekdev5251 7 днів тому

    I never understood Quicksort this easily until today. Exactly what I needed!

  • @pranavkumar2030
    @pranavkumar2030 2 роки тому +4

    Such a good explainer and gem of youtube.
    I will constantly support your videos bro! Kudos for all your efforts.

  • @dragon37786
    @dragon37786 4 місяці тому

    Finally, video without skipping recursive parts where are only two elements, now everything is much more clear, thank you.

  • @Sub-zero1123
    @Sub-zero1123 2 роки тому +1

    I was just checking quick sort on UA-cam yesterday, glad you uploaded it

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

    Thank you for the videos. They are extremely helpful. Right now, I'm taking Java classes but I rely on your videos to learn the concepts. I'm still a beginner but you have taught me a lot so far.

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

    I never found a document or video explaining the Quick Sort algorithm this easy until I came to your channel. Hey bro, you're the best professor in the internet, ever!

  • @ManlyMango
    @ManlyMango 2 місяці тому

    Wow really good job! I love the visualization you did and appreciate that you finished out the array to firmly sitck the lesson in mind. Thank you!

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

    You won the quicksort explanation game my dude, well done. I finally got it, THANK YOU 👏

  • @reemoment1319
    @reemoment1319 2 роки тому +8

    This dude deserve 10 million subs

  • @2T1R3D
    @2T1R3D Рік тому

    This is probably the easiest way anyone has explained any algorithm to me to this day!! Thanks, bro!!

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

    Yes finally, I learnt this algorithm. A big thanks for this short and concise tutorial

  • @boing120
    @boing120 7 місяців тому

    You're the best bro. The writing code with narration section is insanely helpful

  • @SamipKC-zm3gq
    @SamipKC-zm3gq 2 місяці тому

    I have never seen someone explain and code so easily....this was the best! you are the best!

  • @Nik-rh3xl
    @Nik-rh3xl 2 місяці тому

    This is the best video i have seen so far. Straight to the point. Very helpful, Keep up the hard work

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

    Amazing tutorial! Keep educating all of us like this ! I loved it. So elegantly and smoothly done..❤

  • @saadkhan-ku8bl
    @saadkhan-ku8bl 2 роки тому +1

    Finally some quality content, easy to understand, Thanks!

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

    Best explanation I have found till date. I cannot thank you enough.

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

    so happy to always find what im looking for here! thank you so much!

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

    I don't usually comment on videos, but I couldn't help myself from taking my hat off to you.
    I'm currently reading an amazing book "Grokking algorithms", and I Just got to the part about quick Sorting, and while he explained it amazingly and I could understand the concept of it and even visualize it, he uses python on his exemples in the book, so it was extremely hard for me to come up with an implementation of the function in java, since here you can't just add and remove elements from and array like in python... So I was looking for videos that explained neatly the implementation of quick sorting in java I couldn't find any that really helped me, but then I remembered THE LEGENDARY BRO CODE! And it just clicked! Thank you so much man!
    My first pieces of basic programming information came from you and I am very thankful because of how concise your code is... The way you pay attention to the convention and the way you write your code elegantly in a way that is easy to read and understand... I try to implement that when I'm writing code and all thanks to you! Keep up the good work, bro!

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

    This channel provides so much free information. It's just too good to be true.

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

    Love this channel growing!

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

    thx bro, you are a life saver!!! keep up the good content and you have my total support! thx a lot. cheers

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

    This is so cool and clear! Good job on the video!

  • @RoronoaShu27
    @RoronoaShu27 8 місяців тому

    You are saving lives Bro,please continue your hard work. Sorting algorithm is very difficult to explain, you handle it like a Pro Bro

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

    Love it love it love it frrrr like I couldn't understand this at all from many videos but this made it so easy for me thankkkkss!!!

  • @dineshkumare1750
    @dineshkumare1750 10 місяців тому +3

    I understood these concepts better from this channel than I did in my 5-month DSA semester paper.

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

    I watched up to the end of the visual explanation, which was very helpful and good by the way. Now I'm going to try and code it myself before watching how you code it

  • @Leo-ld6se
    @Leo-ld6se Рік тому

    im grateful for these vids, i have a book about algorithms and data structure but i cant understand a word. your vids are so easy to digest and very helpful toward beginner like me

  • @yagan_dawn2008
    @yagan_dawn2008 11 днів тому

    I had a task to implement the quicksort algorithm in assembly.This video helped me a lot to write the code as i could easily reference my results to yours.Thank you!(It took me around 6 hours of coding to do that lol)

  • @4EverH0me
    @4EverH0me Рік тому

    This is my first comment ever and I really wanted to THANK YOU a lot. You are a great teacher. I am really appreciating your work. Thank you.

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

    That was awesome and easy to understand explanation! Thank you so much!

  • @aliyanshaikh1547
    @aliyanshaikh1547 8 місяців тому

    Finally someone who explains quicksort nicely. Thanks so much bro

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

    You're a monster Bro!! That was amazing explanation about this topic. Keep it up! Thanks for sharing with us!

  • @sapokee2830
    @sapokee2830 10 місяців тому

    Thanks so much. This algorithm has been the bane of my existence for way too long, and I finally get it now.

  • @jeffisded1222
    @jeffisded1222 Місяць тому

    The way you implemented quicksort is much better than the other method I found. The other method has this stupid edge-case I can't wrap my head around. Thanks :)

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

    This is the first time I understand quicksort, thank you

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

    Writting this myself relying only on your explanation and demonstration but not looking at your code was a pain in the ass but I managed to do it !!! 💪
    I am feeling a little bit smarter now lol

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

    Your visual explanation is on point!!

  • @sallaklamhayyen9876
    @sallaklamhayyen9876 Місяць тому

    Wow brilliant explanation .thank you so much

  • @mangomango5660
    @mangomango5660 9 місяців тому +1

    Man you are a legendary giga chad coder
    your explanation is so good

  • @Anas-qh3hk
    @Anas-qh3hk 2 місяці тому

    I've never been this grateful to anyone before

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

    Thanks a lot for this explanation... You are definitely the best java teacher...please continue creating more java algorithms...👏👏👏

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

    Man i qas trying a whole day to understamd quick sort and now i understood in almost 15 min! You are a legend

  • @hernanphillip334
    @hernanphillip334 3 місяці тому

    Wow, this has been the best video that i have found about this topic

  • @patrickmayer9218
    @patrickmayer9218 8 місяців тому

    *i starts at -1 index, j starts at 0 index
    *if array[j] >= array[pivot], increment j
    *if array[j] < pivot, increment i and swap array[i] and array[j], then increment j
    *once j reaches the pivot, increment i, and swap array[i] and array[pivot]
    Thanks so much for making this, Bro Code, I am not exaggerating when I say this is the only video on the subject that made sense to me (without leaving out crucial details)! Your videos have helped the programming community so much!

  • @dominiknowak3613
    @dominiknowak3613 2 місяці тому

    Great job. You explained it well. Good visualisation.

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

    This is the best explaination of quicksort ever made ♥️♥️♥️

  • @jx2pd
    @jx2pd 10 місяців тому

    the best quick sort tutorial!! I don't even use Java, but I understood with this explanation. Thank you

  • @flopani5059
    @flopani5059 4 місяці тому

    Awesome explanation and useful animation!

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

    Hey bro please continue to do this serie, is very helpful. You are a great teacher. Hello from Brazil!

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

    the best video on youtube to understand quicksort .

  • @rishiksaisanthosh3171
    @rishiksaisanthosh3171 6 місяців тому

    Thanks bro after watching your i understood the logic more clear.The way you explain algorithms by dry run is excellent

  • @jananishetty8353
    @jananishetty8353 7 місяців тому

    Amazing explanation, very easy to understand.

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

    Amazingly explained bro! Thanks.

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

    The best explanation in the youtube world Thank you very much bro

  • @anonymous49125
    @anonymous49125 14 днів тому

    For those wondering, line 29 of the quick sort should be: for( int j = start; j < end; j++ ) {
    And NOT: for( int j = start; j < end****-1****; j++ ) {
    Still, great tutorial and they posted the correct code in the comments, just hope this helps those that are getting the wrong result and can't figure out why.

  • @youseflol3611
    @youseflol3611 22 дні тому

    I'm so grateful for this video, i finally understood Quick Sort all thanks to you
    thank you so much ❤❤❤

  • @nikilnikki18
    @nikilnikki18 Рік тому +1

    Seriously words cannot explain the efforts u have put in for us !! I'm 18 I'm from India U are helping me so much 💕 thanks bro

  • @user-tm5kn6kt5x
    @user-tm5kn6kt5x Рік тому

    Thank you bro, now I understand algorithms, you teach better than in university ❤

  • @jp-hh9xq
    @jp-hh9xq Рік тому

    Yeah, Bravo!! I have watched a dozen videos on QuickSort. I use it every day as a developer, but this video is the best to explain it to yourself or others, in why you made a particular design decision or not. I pick my partitions carefully, and for just the reasons stated in this video. This video helps me to explain to others why I made the decisions I did!!! Thanks!

    • @jp-hh9xq
      @jp-hh9xq Рік тому

      After reading your comment above, I just want to say, seriously, dozens of videos, I watched on the topic and this is by FARRRRRRRRRRRR the BEST! This is what people want to see, they just don't know it yet. Keep up the good work!!!!!

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

    Thanks a lot for putting such a great effort to teach us.

  • @RicardoVargasM
    @RicardoVargasM 2 місяці тому

    You are programming Jedi Master. I appreciate it

  • @fruko3164
    @fruko3164 8 місяців тому

    This is the best quick sort video I have ever seen

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

    Great video and well explained!
    I'm currently taking a course in datastructures and algorithms and your videos are a perfect resource.
    It turns out that the pivot element is better chosen by calculating the median-of-three than choosing the first or last element in the array. This is because the runtime can be greatly improved and we are no longer taking the risk of having quadratic runtime as we now can get linearithmic runtime.
    In theory, the best pivot value is the median of the array but since it's not possible to calculate for an unsorted array, we calculate the median-of-three. The median-of-three is the median of the first value, midmost value and the last value.
    What happens is that the partitions splits up at almost equal parts, which makes for the better performance. ✌️

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

    U made itvery easy to understand..thank you so much 😊

  • @luisespinosallanos3142
    @luisespinosallanos3142 11 місяців тому

    Bro! Amazing job. Thank you

  • @tejasbawa
    @tejasbawa 2 місяці тому

    Tysm, this video helped me a lot.

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

    love these visual representations

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

    your videos are really helpful, Thanks !

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

    Thank you so much Bro, your Tutorial help me so much in learning code. Hope many success come to you, Bro

  • @fact__slap
    @fact__slap 11 місяців тому

    love the background music, its awesome bro

  • @HaoNguyen-km9xj
    @HaoNguyen-km9xj 2 роки тому

    It's a very helpful series. Let make more videos like this...

  • @jamalghatit
    @jamalghatit 3 місяці тому

    Well done Bro! thanks from Brazil!!!!

  • @2fauth343
    @2fauth343 Рік тому

    I have my exam on Databases & Algorithms later, these videos are useful. Wish you could also create one for the Cocktail Shaker Sort and LSD Radix Sort.

  • @haiderzia1238
    @haiderzia1238 4 місяці тому

    Really good video.Understanding the content was really easy and fun.Thanks alot ❤.

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

    I found quicksort really confusing until I watched this video. Thanks a lot bro, I hope you make more videos.

  • @SLIME-gx6fo
    @SLIME-gx6fo 2 роки тому

    This is my fav. Playlist!

  • @johneagle4384
    @johneagle4384 Місяць тому

    Cool!, Really cool!
    It helped me understand how QS works.

  • @user-rs5qf9my8n
    @user-rs5qf9my8n 5 місяців тому

    thanks bro needed this for my college quiz very helpful

  • @bibekkumarpanda4388
    @bibekkumarpanda4388 6 місяців тому

    Great explanation!

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

    quick sort learned! thanks!

  • @juliannafotheringham7101
    @juliannafotheringham7101 8 місяців тому

    amazing amazing amazing explanation

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

    thank you, bro, you're the best!

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

    My man is better than any university prof XD

  • @Yazan_Majdalawi
    @Yazan_Majdalawi Рік тому +1

    Amazing video! can you do another one for the analysis of its time complexity? would be great :)

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

    hope you will talk about radix sort, counter sort, heap sort and shell sort

  • @lukhanyokalashe1906
    @lukhanyokalashe1906 4 місяці тому

    Bro given this is a difficult topic, i now undersatnd it very well and i couldnt wrap me heard around the recurvive call and how the array is partitioned only, seeing the method signature and how you well explain this. Thank you so much never stop helping us younger generation. Thank God to your C# TUTORIALS i passed my firtst year 2023 and now im able to understand data structures and algorithms in Java. Thank you Man may God Bless you. Your Fellow Bro from SOUTH AFRICA🤗❤za

    • @lukhanyokalashe1906
      @lukhanyokalashe1906 4 місяці тому

      i was struggling with recursion but you helped me understand it better !!