Тёмный

Quicksort: Partitioning an array 

KC Ang
Подписаться 6 тыс.
Просмотров 576 тыс.
50% 1

This video shows how partitioning may be achieved, as part of the process of Quicksort. At the end of the partitioning process, the array is divided into two sub-arrays. One sub-array contains elements that are less than a chosen pivot, while the other contains elements that are more than the pivot. The partition function should return the position of the pivot.
Note:
While recording the video, I was focusing on moving the pivot to the (i+1)th position towards the end of the video, and in my hurry to finish the video, I had forgotten that a swap is sufficient. Agree (and this has been brought up many times in the past) that a swap at the last step is quicker and more efficient. However, it is not incorrect to shift - just inefficient. Actually, as mentioned right at the beginning, the objective here is to find the position of the pivot for the partition.

Опубликовано:

 

15 окт 2014

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 1,3 тыс.   
@whoopdeedoodude
@whoopdeedoodude 5 лет назад
All the fancy power points and drawing tablets and still the best explanation is a homie with paper cups. Thank you, sir!
@diegod.8518
@diegod.8518 3 года назад
I think it's funny how you don't use anything fancy to explain this, and yet your explanation is still one of the best.
@mtophir
@mtophir 3 года назад
Thank you. Glad you liked it :)
@nadavsam
@nadavsam 2 года назад
Not sure.. have you seen the Hungarian dancers?
@hernancedillo6144
@hernancedillo6144 2 года назад
Thank you for the thorough explanation!!
@bipdopbop1878
@bipdopbop1878 2 года назад
Its called being a good teacher
@conea6891
@conea6891 3 года назад
This is the best video on Quicksort. However, at 4:05, we could just swap "Pivit" and the "i+1".
@crazguykwan8955
@crazguykwan8955 3 года назад
Yo I'm glad you said that. I was about to make a loop to shift them all (which would increase the time complexity). But your suggestion gives the same result (numbers to the right are larger than pivot) at a shorter time complexity
@srishtiavalakki751
@srishtiavalakki751 3 года назад
One of the most understanding videos i have seen so far about QuckSort. Thank you sir, extremely understanding
@mtophir
@mtophir 3 года назад
Glad you liked it
@zingg7203
@zingg7203 3 года назад
Understandable*
@justdanaus
@justdanaus 3 года назад
I watched your instruction twice, not because it's hard to understand but so enjoyable to watch. Thank you
@nkosinathindlovu3059
@nkosinathindlovu3059 3 года назад
Right!? I could not believe how simple he made it seem.
@21void5
@21void5 5 лет назад
this explains a lot why "i" started at index -1. Thanks.
@fodecissokho9918
@fodecissokho9918 2 года назад
Usually I don't comment on video but I have to make an exception for this one because EVERYTHING WAS JUST PERFECTLY EXPLAINED.... It changes from the videos where the guy takes more than 10mn to explain it in a way that will confuse more KEEP IT UPP 🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
@mtophir
@mtophir 2 года назад
Thank you for the compliment. Glad you like the video.
@shikha125
@shikha125 Год назад
I've never seen such an amazing teaching method, thank you! This is gold
@mtophir
@mtophir Год назад
Thank you for the compliment!
@aaryaveerrajput8031
@aaryaveerrajput8031 2 года назад
This Legend is replying to comments even after 6 years.❤
@mtophir
@mtophir 2 года назад
I'm no "legend" - I'm just an ordinary academic at a university. Thanks for your message, though.
@bogslut
@bogslut 5 лет назад
This is the best explanation of quicksort I've seen on youtube and using simple paper cups of all things.
@peterbalogh5622
@peterbalogh5622 2 года назад
This is a clear explanation, but I'd avoid shifting the array at 4:07 and just swap the 4 and the 8 (that is, the element at the pivot position with the element at i+1) since it's much less work and it will also result in guaranteeing what we need: everything to the left of i + 1 is smaller than the pivot, everything to the right of i+1 is greater than the pivot, and the pivot is at i.
@jimmyfl0
@jimmyfl0 2 года назад
I thought the same, was surprised when he moved all the cups lol. Great video though! Super clear
@mtophir
@mtophir 2 года назад
Thanks both. This point has been discussed at length in the past. You may wish to read the video description. Thanks for watching!
@namanaggarwal5417
@namanaggarwal5417 Год назад
not gonna lie, its the best video available for quicksort.
@mtophir
@mtophir 10 месяцев назад
Oh wow, that's the best compliment! Thank you for watching.
@angelamunyao7877
@angelamunyao7877 5 лет назад
This is the best explanation i've come across!
@mapmappampam8758
@mapmappampam8758 7 лет назад
you are very good at explaining this complex algorithm! with your calmness it was very easy to follow you step by step. you are the only one that actually helped me to understand :) Great job! Thank you!
@washboy
@washboy 6 лет назад
This should be the 'go to' video for quicksort explanation
@estefaniac8260
@estefaniac8260 4 года назад
Amazing explanation! Thank you, Thank you, Thank you :) Very clearly explained and the visual aids were amazingly helpful.
@mtophir
@mtophir 4 года назад
You're welcome. Glad the video is of use to you.
@nightfox6738
@nightfox6738 Год назад
I find it really interesting how Quicksort as a sorting algorithm itself is intuitively quite simple but I've seen so many different methods for partitioning the array.
@adilbaig7022
@adilbaig7022 3 года назад
Only after watching this video did I understand that the `i` only increments when a swap happens, in effect keeping track of where the pivot should finally rest. The best explanation I've seen on quicksort partitioning!
@sankalparora9374
@sankalparora9374 2 года назад
possibly best video on RU-vid to understand Quicksort. Everyone just dry runs the algorithm - without clearly showing what's being done and why. You won 'em all!
@mtophir
@mtophir 2 года назад
Thanks~ I'm glad it helped.
@zoriiginalx7544
@zoriiginalx7544 2 года назад
This is amazing! Great explanation. I could not understand quicksort until you masterfully and elegantly demonstrated how the algorithm works.
@mtophir
@mtophir Год назад
Thanks for the very kind words. Happy to help!
@amrsaber5457
@amrsaber5457 8 лет назад
at the last step you should swap not shift ... shifting means moving all the next objects and that would be with no purpose ... but swapping does the work simply with no extra efforts
@jogofwar99
@jogofwar99 8 лет назад
+Amr Saber yup^
@karimp59
@karimp59 2 года назад
Thank you prof KC Ang. After so many days of confusion I finally got clear explanation from your video. Thank you for virtually sharing your knowledges!!
@mtophir
@mtophir 2 года назад
Glad it was helpful!
@qaipak1
@qaipak1 7 лет назад
Teacher took 40 mins. Book took 1 hour. This guy taught me in 10 mins.
@i2Chinese
@i2Chinese 7 лет назад
At 4:06 (when the partitioning is finished) there was a shift in the array which is very expensive, for the purpose of the quicksort I believe it'd be a more beneficial if you instead swapped the pivot with (i + 1)
@prashantgupta808
@prashantgupta808 3 года назад
probably the best explanation of quick sort in so less time,one thing to say to understand this better you first go throuhh the video explain by mycodeschool channel and then watch this and you will see clearly how things are working here. Hats off you sir! Great job.....
@mtophir
@mtophir 3 года назад
Thanks for your kind words
@fcsie
@fcsie 2 года назад
this is by far the best explanation of quicksort so far after pouring through countless videos.
@igorf243
@igorf243 Год назад
It looks like this guy knows how to teach, awesome vid.
@mtophir
@mtophir Год назад
Thanks :) I try my best ...
@JaBoss397
@JaBoss397 3 года назад
thank you again, I have spent my day trying to learn quick sort and this video actually gave a clear understanding to a point I can implement code with no problem. Thank you !!!!
@mtophir
@mtophir 3 года назад
Thank you for watching this video and leaving a comment!
@DataStructures
@DataStructures Год назад
Amazing, short, easy explanation
@mtophir
@mtophir Год назад
Happy to note you find the explanation easy to understand
@sakumas1183
@sakumas1183 Год назад
thank you for this video!! i love how you used the cups, it's so much easier seeing this happen in real life instead of a digital diagram/images on screen.
@mtophir
@mtophir Год назад
Glad it was helpful!
@katrinejensrud537
@katrinejensrud537 3 года назад
this was the best explanation of Quicksort in youtube
@mtophir
@mtophir 3 года назад
Thank you. Glad you liked it.
@Honest_Reply900
@Honest_Reply900 Месяц назад
One of the best explanations, you nailed it
@mtophir
@mtophir Месяц назад
Thanks for the compliments!
@samuelvalentine7846
@samuelvalentine7846 Год назад
Please, can someone give all the humans, animals and plants as subscribers to this legend
@mtophir
@mtophir 10 месяцев назад
Very flattered by your comment! Thanks for watching.
@ibotah
@ibotah 3 года назад
This is most certainly the easiest video to understand about partition. I literally am mad it's this easy haha!! Thank you so much!!! I definitely did NOT study this the day before my test :P
@mtophir
@mtophir 3 года назад
Thank you. I'm glad you find it useful.
@chtr33
@chtr33 3 года назад
I've been searching like a hour for a clear explanation. Thank you! You are a life saver.
@ChrisLeeX
@ChrisLeeX 7 лет назад
Incredibly helpful. Textbooks and online articles handwaved over partitioning. Thank you for explaining this so well.
@andrewkaram6733
@andrewkaram6733 3 года назад
I struggled fully grasping this concept of why this works, you explained it very well and made the click that when I look back I don't understand where my confusion came through. Thank you so much.
@mtophir
@mtophir 3 года назад
You're most welcome. Good to know that this video had helped you overcome your struggles.
@-kindredeternalhunter9907
@-kindredeternalhunter9907 3 года назад
You are honestly good . Ur way is the best way to explain this, dunno why people keep explain this by code, all viewer want to know is the idea to do q sort ans you did it well
@mtophir
@mtophir 3 года назад
Glad you liked it. Thank you so much 😀
@01binaryboy
@01binaryboy Год назад
I went though so many videos. This is where I have understood the logic behind this algorithm very well. Thank you so much Master.
@mtophir
@mtophir Год назад
Thanks for the positive comment!
@Mr.SuperMan
@Mr.SuperMan 8 лет назад
The loveliest explanation of partitioning ever made. Hats off to you man!
@hidroklorotiazid
@hidroklorotiazid Год назад
This is the most clear explanation I have ever seen of the algorithm. Thank you so much.
@mtophir
@mtophir Год назад
Glad it was helpful!
@billbez7465
@billbez7465 3 года назад
Agreed with previous person. The most clear description of Quicksort I've seen. Well done and thank you.
@mtophir
@mtophir 3 года назад
Thank you
@rew23able
@rew23able 6 лет назад
Best explanation ever. Very clear and crisp explanation and the representation helps to literally visualize the problem. Thank you !
@Rliu1992
@Rliu1992 7 лет назад
Great explanation! One thing to mention is, instead of shifting everything from i+1 to the right, you can just do a swap of A[i+1] and pivot, (4 and 8 in this case) which is probably more efficient.
@harryc5097
@harryc5097 4 года назад
Best demonstration I have seen for quick sorts. I'm a visual learner and using real world objects really helped, not to mention the great instruction and organized narration.
@JasonJason210
@JasonJason210 3 года назад
I wish our college lecture had explained it this clearly. College is where we go to get grades; RU-vid is where we come to learn. Thanks KC Ang.
@Bestcuriosity_1
@Bestcuriosity_1 2 года назад
This is the correct way every human being can get crystal clear understanding of hardest topic easily Respect to great teacher like you sir love & Respect from India
@mtophir
@mtophir 2 года назад
Thank you and glad that you found the video useful. :)
@nebula1100
@nebula1100 2 года назад
This is single handedly the best visualization of quicksort I've ever seen. Thanks for this!
@mtophir
@mtophir 2 года назад
That's a very nice compliment. Thank you!
@excelsior759
@excelsior759 7 лет назад
I believ i see your video everytime i need to refresh about quick sort. Thank you. I may have seen it more than 15 times !
@spioboy1
@spioboy1 3 года назад
This is the best explanation of Partitioning on RU-vid. Thank you!
@mtophir
@mtophir 3 года назад
Thank you~ glad you liked it.
@crepkey
@crepkey 4 года назад
This is the first explanation that I understand immediately after I've watched it! Thank you so much! Greetings from Hungary :)
@kentnixon1651
@kentnixon1651 4 года назад
Was having a lot of trouble understanding this algorithm until I stopped here and watched your video - now it totally makes sense! Thank you for taking the time to not only make the video, but to actually demonstrate the algorithm in physical form. It really helped me to learn much more concretely than any of the code snippets other tutorials were relying on.
@prashasthapaduri4425
@prashasthapaduri4425 2 года назад
Wow...the way you used the cups for explaning the concept is so creative
@Moch117
@Moch117 11 месяцев назад
Watched so many quicksort videos but this one is the best. Thank you good sir !
@mtophir
@mtophir 11 месяцев назад
Glad you liked it!
@akhilsanker2681
@akhilsanker2681 3 года назад
Just Awesome !!!! Crystal Clear !! Tried a few lectures! This is GOLD! 👍❤️
@pastafarian8410
@pastafarian8410 4 года назад
This is the best explanation of Quicksort I 've come across anywhere. Cheers
@JaBoss397
@JaBoss397 3 года назад
you make so much sense, the hardest part of quick sort is understanding the first passing of the partitioning function. Thank you
@mtophir
@mtophir 2 года назад
Hope the visualisation in this video has made "the hardest part" a bit easier to understand.
@eucliwoodhellscythe4324
@eucliwoodhellscythe4324 3 года назад
the best explanation of quick sort thank you
@mtophir
@mtophir 3 года назад
Glad you liked it!
@eucliwoodhellscythe4324
@eucliwoodhellscythe4324 3 года назад
@@mtophir wish me luck bro, im going to face interview in this week 🙏
@mtophir
@mtophir 3 года назад
@@eucliwoodhellscythe4324 Good luck! All the best!
@emeryli2331
@emeryli2331 3 года назад
he explains complex stuff in a very plain way. What an illustration!
@user-tz7vl4no6o
@user-tz7vl4no6o 7 лет назад
The video describes the basic unit of computation in the processing of quick sort algorithm. Very clear and beautiful!
@bilalkhanthedreamer
@bilalkhanthedreamer 6 лет назад
You're great sir. I was trying to understand quick sort from many days, but you made me understand the working of quick sort partition in less than 5 minutes. Thank you so much.
@giovannicarovanello62
@giovannicarovanello62 7 лет назад
I finally understood QuickSort(A[],first,last). Thank you very much. You video was very illuminating!
@mukul98s
@mukul98s Год назад
This is the best video on quick sort I have watched . Thanks man for making this amazing video.
@mtophir
@mtophir Год назад
Thank you. Glad you liked it!
@user-mj1lu4cl1j
@user-mj1lu4cl1j Год назад
After going through so many contents and RU-vid videos I finally found someone explaining the Quicksort in a very clear manner. Brilliant job KC...!👌
@mtophir
@mtophir Год назад
Glad it helped!
@farhadpagdiwala1789
@farhadpagdiwala1789 3 года назад
Thank you so much for a simple and wonderful explanation of partition algorithm for QuickSort. Beautiful!!
@AlexRyaguz
@AlexRyaguz 2 года назад
The best explanation of partitioning I have ever seen.
@mtophir
@mtophir 2 года назад
Glad you think so. Thanks!
@jogofwar99
@jogofwar99 8 лет назад
Very smart implementation Mr. Ang!
@kylefang8254
@kylefang8254 3 года назад
Thank you so much! This is the only explaination I can understand. No those fancy graphic animation and music, no confusing complex definition and pesudo code, just a straight forward visual explanation. After I watched this, the pesudo code suddenly makes sense now.
@mtophir
@mtophir 3 года назад
You're welcome and thank you for the kind words.
@memeingthroughenglish7221
@memeingthroughenglish7221 22 дня назад
clever way of sorting the array and demonstrating how the i and j move through the loop together and make the pivot! Thank you so much for your efforts!!
@sonofage
@sonofage 3 года назад
OMG, your explanation makes a lot of sense compared to other videos i've seen, NOW I GET IT>>>>>>>>>>>>>>>> THANKS
@mtophir
@mtophir 3 года назад
You're welcome!
@kevinvira
@kevinvira 6 лет назад
Finally I know how QuickSort works. Thank you.
@marcelcohen4844
@marcelcohen4844 6 лет назад
I've been watching about 20 videos of quicksort, this is only one that explains the concept clearly
@amadousallah6634
@amadousallah6634 7 лет назад
Wow! What a great instructor. This is brilliant. Thank you so much for the amazing explanation.
@sulaymonolimov7798
@sulaymonolimov7798 10 месяцев назад
Amazing explanation!
@mtophir
@mtophir 10 месяцев назад
Glad you think so!
@leahwilson5471
@leahwilson5471 7 лет назад
Best video I've seen yet... keep up the good work!
@yolamontalvan9502
@yolamontalvan9502 11 месяцев назад
WOW, I MEAN WOW. This is the best explanation of the QuickSort I have seen. Not even AI help could have shown that. Thank you.
@mtophir
@mtophir 11 месяцев назад
Wow, thanks!
@thomasgericot9997
@thomasgericot9997 3 года назад
Thank you for your professionalism, Tom.
@brahmdeepsingh5246
@brahmdeepsingh5246 Год назад
I already know quick sort but came here for the awesome explanation 👏🏼 its real simple and cool.
@mtophir
@mtophir Год назад
Glad you liked it!
@vlads7774
@vlads7774 Год назад
the best explanation on this type of sorting, thank you a lot !
@mtophir
@mtophir Год назад
Glad it was helpful!
@BrandNewByxor
@BrandNewByxor 7 лет назад
It's amazing how much better this tutorial is than the other ones out there. Especially from a non-native English speaker. I applaud you.
@PENDANTturnips
@PENDANTturnips 7 лет назад
This is an amazing tutorial. Perfect pace and great visualizations!
@globnomulous
@globnomulous 3 года назад
Thanks for posting this. I found it enormously helpful.
@mtophir
@mtophir 3 года назад
You're most welcome!
@anujagulhane8543
@anujagulhane8543 2 года назад
The kind of teachers we students crave for!!....Thanks Sir
@georgesmith9178
@georgesmith9178 4 года назад
The best part was that you actually pointed me to the fact the (i) pointer is initially at (low -1) and that it will not be out of bound because it will be incremented just before the first swap. Special thanks for that.
@SaurabhKr
@SaurabhKr 7 лет назад
One of the best simulations of the partition procedure, thanks for making this video :) I hope to see more of your video. Thanks
@diegoromo4819
@diegoromo4819 11 месяцев назад
I have to admit there is a lot of great videos out there for data structure and sorting videos, but loved this one!
@mtophir
@mtophir 10 месяцев назад
Thank you so much for the compliment!
@blackmamba9950
@blackmamba9950 Год назад
The best example I have seen on the internet. Thank you Sir
@mtophir
@mtophir 10 месяцев назад
That's a great compliment! Thank you.
@andreaslordos9040
@andreaslordos9040 5 лет назад
The only clear visual explanation I was able to find - thank you :)
@indubitablewordsmith9138
@indubitablewordsmith9138 5 лет назад
He explained in 5 minutes what other videos didn’t in 10-15 minutes. Best quicksort video I’ve seen
@mtophir
@mtophir 5 лет назад
Thank you for your vote of confidence.
@zoltanbiro6388
@zoltanbiro6388 2 года назад
Best explanation ever of quicksort
@mtophir
@mtophir 2 года назад
Thank you, and thanks for watching.
@kyu9649
@kyu9649 7 лет назад
Extremly well explained ! Very good video !
@nanzownzu
@nanzownzu 3 года назад
Perfect. Wanted to refresh my memory and saw this. I knew I did not need to see any pseudocode or code but just wanted to understand the process. This was perfect.
@MrXxblackopsxX
@MrXxblackopsxX 6 лет назад
Love your videos, great interactive and visual examples!
@m16averick
@m16averick 3 года назад
Very clear explanation! Wish all of my proffessors had this impact
@mtophir
@mtophir 3 года назад
Thank you for your kind words
@alexander.belyakov
@alexander.belyakov 2 года назад
That was an excellent visualization, thank you so much!
@mtophir
@mtophir 2 года назад
Glad you liked it!
@sudheerkaneti203
@sudheerkaneti203 7 лет назад
thank u sir....this is the most clear explanation than most of other explanations of quick sort in the youtube.
@bvashisht9283
@bvashisht9283 3 года назад
WOW, I watched green animation video, and was giving up on quick sort, and then watched your video and its as clear as day.
@mtophir
@mtophir 3 года назад
Glad it helped!
@vos2z
@vos2z 2 года назад
Brilliant video! Helped me understand very clearly!
@mtophir
@mtophir 2 года назад
Glad it helped!
@n00byscrazycorner43
@n00byscrazycorner43 3 года назад
Great video, thank you so much. The book and examples made no sense, but this is a lot better than the examples online.
@stealthslayer90
@stealthslayer90 7 лет назад
very clear! having i j and r and pivot on top of the cups really helped compared to other videos...
@shivanshudwivedi9001
@shivanshudwivedi9001 4 года назад
He is probably the simplest man on internet! Thanks man! appreciate it.
Далее
Sorts 8 Quick Sort
9:12
Просмотров 194 тыс.
2.8.1  QuickSort Algorithm
13:43
Просмотров 3 млн
Редакция. News: 121-я неделя
42:58
Просмотров 1,2 млн
Best ASMR 😳
00:26
Просмотров 20 тыс.
heavy boot #tiktok
00:16
Просмотров 829 тыс.
Bubble Sort
3:32
Просмотров 83 тыс.
Why do calculators get this wrong? (We don't know!)
12:19
Algorithms: Quicksort
8:54
Просмотров 913 тыс.
Quick Sort - Computerphile
3:23
Просмотров 393 тыс.
Quicksort Algorithm: A Step-by-Step Visualization
9:32
15 Sorting Algorithms in 6 Minutes
5:50
Просмотров 24 млн
Quicksort algorithm
20:39
Просмотров 1,8 млн
Learn Quick Sort in 13 minutes ⚡
13:49
Просмотров 288 тыс.
Understand Quick Select (In 10 mins)
10:24
Просмотров 12 тыс.