Quick Sort Algorithm
Вставка
- Опубліковано 29 лип 2024
- Quick Sort is a sorting algorithm based on partitioning the array of data into sub-arrays to sort them recursively.
This video is produced with the animation engine Manim.
Manim - Mathematical Animation Framework. www.manim.community
Manim Animation
link.curiouswalk.com/manim
Thanks for watching.
🔗 www.curiouswalk.com
✉️ hello@curiouswalk.com
Wow it takes so much afford to animate this.... respect
This is so easy if you know python programming and it is used a package called manim
this was so insanely good. deserves 10mil+ views honestly
indeed, at least 8 billion views
@@EliAxel More, like 9 Nontilion views
Really helpful! Contrast to those ultrafast animations, this helps to feel out how does algorithm work. Well done!
The most beautiful UI, UX design to explain quicksort algorithm. Sounds, visual cues, animation is too good.
Oh my god. I always forget the Quick sort. I will come back to this video whenever I need a refresher.
Actually there is an error in the drawn condition for swap green and orange, it should be inverted. At 0:45 it swaps 0 with 5, but according to condition 'green > orange' (0 > 5) it should not. So the correct condition is 'green < orange' (0 < 5). We are sorting ascending and not descending. ✌
It looks like this is not an issue. The green and red dots represent the indices in the array so 'green > blue' states that if green is at a higher index than blue then swap (not values!). Later once green is smaller than or equal to 4 (pivot) then the new incremented position of yellow is more than the pivot. If the new green element is less than the pivot then it is obviously less than the new incremented yellow value as well.
@@smartrabbitvideos9384 at the start of the video, the green and orange dots were said to represent element at index not index
Thank you. Visually seeing it happen finally helped me understand the different operations happen and their order
This is amazing. I've learned more in this 2min video than any CS lecture or self study. Please do one for every key concept in CS.
There seems to be an error in the video. At the bottom the decision tree guide displays green > yellow, where it should be the other other way around.
yup
Thank you a lot !!!
Simply using sound effects instead of music is by far more relaxing and helpful !
Simple and straight to the point, good job
The best explanation on all of UA-cam!
Woah!!!! This was amazing dude. Keep making such videos :)
Awesome work . Thank you so much
Most amazing animation to explain quick-sort
Only after watching 1M videos, I landed on the best one. I can now write the code myself after understanding the depth. Thanks a lot!
This video is so underrated, amazing explanation!
In one way or another now I totally get quicksort. thank you for the video.
Your videos are really do easy to understand. I understood all sorting techniques through your videos. Can you please make videos on linked list concepts please. It would help us in better understanding. U guys are doing a great job, hope u continue it and go ahead.
If had millions of dollars, I would have given you one.
I love the sound effect thank you
Congratulations on this animation. I had never understood what the swap rule was like between current position value and swap position value. With this animation I understood that after increasing the exchange position by 1, its value must be exchanged if the value of the current position is less than that of the exchange position, this way the exchange position will always contain a value less than or equal to the value of pivot.
great presentation pal! Thanks
I think this one is the best one in terms of visualization.
OMG this is beautiful!!! 💖😍
Beautiful ❤️
Best 4k video of all time
Amazing job!
This is one of the best channel to learn computer science concepts in general.Please keep creating and posting more videos as these animations are highly useful in understanding the underlying concepts.Can you please share the manim code you used to create this animation.
the best video i`ve ever seen.
loovoly video mate thanks alot
Short and easy :)
Good Job!!
great explanation thanks alot
Can u plz provide the code
the best visual explanation! I really liked it and it was beneficial! Also, it's my first comment) you really deserve it!!!
green dot is iterator.. like i in for loop.
orange dot keep track of elements what are smaller than the pivet.
steps:
1. select the pivet. (last element)
2. traverse through the array and compare each element with the pivet. if it finds element less than the pivet, move orange dot one place. then swap places.(this action move elements that are less than pivet, close to each other.)
3. if green dot goes to the pivet, then again move green dot one place and swap it with the pivet.
now we have the pivet in place where it placed correct place it should be.
do this recursively
Thanks man.
beautiful animation
Fantastic animation
Awesome video,🙌
finally found the gem.
This was great!
Yussss this is what i needed. sank you
Nice sound effects. How did you sync them so perfectly with the animations?
manim has built-in methods for that purpose. You can pair sound effects with the animations you want
it hurts to see this not getting enough credit😔
Amazing!
Nice easy to understand ❤❤
Insanely good
really amazing
Wow Wow such a nice animation thank you
How to make these kind of animations!
great work
It's really amazing and the animation with the sound are really cute
i love the sounds too!
criminally underrated content
Thanks
very good
THAT S AMAZINGGG
Great animation ! just would like to ask about the source of the sound effects
thanks you so much😍
This was very helpful, but I had a hard time understanding the intent behind the seemingly simple operations for the partitioning. A slide at the start with some text would have been helpful.
Here's the idea if anyone else struggled understanding it.
You have a moving pivot (orange) and a swapper (green).
The moving pivot (which starts at -1) maintains a territory to it's left (and where he currently is) of numbers which are smaller or equal to the pivot.
The swapper looks for the numbers which are smaler than or equal to the pivot and moves them into the moving pivot's territory.
amazing
good job.
I have a confusion in some video I saw when we choose pivot in left side greater element is search from left to right and smaller is right to left and you are doing both from the same side is it same ?
most satisfying tutorial
Really nice animation
perfectly explained
Can you share the code. For the learning prospects. Please
Amazing
Wow gargeous 😮 👌👌
Even a kindergarten kid can understand it seeing this video, DAMN!
Isn't there an error? At the bottom-right, the condition for swapping should be [green < orange], not [green > orange]
Thank you! Best video on Quick Sort!
does this mean if "index" is greater than "swap marker" they will swap?
this is crazy
Finelly!!!
Is this Hoare schemes? Why it looks different?
This example uses Lomuto's partitioning algorithm.
Nice video aesthetic
0:53 Current index is not greater than swap index. Why does it still swap?
This is the best explanation for me
this doesn't work with multiple duplicate elements in an array, maybe someone can help me with 40420 I get stuck at 424 with pivot 4
terimakasih, daya sudah mengerti quicksort 5 menit sebelum ujian
Please make more videos on other sorting methods.
I want a source code of this animations
0:32 why 2 is not swapped after +1 it will become 3 which is less than pv?? It need to swap
can you please explain how to decide orange and green's position (index) according to pivot ?
quick sort goes left to right. so green and orange will be on the left. you can choose any number as the pivot index but you will put it to the right of the list and then do this process in the video.
7 to 6 in the third level, it dint exchange the value ?? y
BESTT
thanks for the animation but there's a slight mistake in ---> [green] [orange+1] ----> [ green] > [ orange] ===> it should be [orange] >[green] then swap If I'm not wrong. wouldn't have figured the algo without your animation( I've figured the error cuz of that) again thanks!!!!!!
Thanks for your interest.
• (dot) is the index position.
[•] (dot in brackets) is the element at index • (dot)
Comparing only the • dots means comparing the index positions of the • dots only and not the elements at • the dots.
A detailed explanation at 0:15 would have been helpful.
Great job. can you give the source codes?
W animation
Orange > green
I almost understood it this time
Isn't the last condition (grean > orange) false and should be orange > green?
A detailed explanation at 0:15 would have been helpful.
• (dot) is the index position.
[•] (dot in brackets) is the element at index • (dot)
Comparing only the • dots means comparing the index positions of the • dots only and not the elements at • the dots.
Does there seem to be a problem at green > orange => swap ???
seems yes, I also noticed this and decided to read the comments if I am not missing something.
this condition should be changed on opposite one.
green>orange isn't it wrong? actually orange >green, before swap
1:22 why swap if green is not bigger than orange?
That's a mistake if orange is greater than green then swap
Super duper 🔥
Use technical services help people more understand technologies. thank so much
What a great videos! however, I think the "greater than" operator comparing green with orange should be less than, and you have greater than. when you compare 5 with 0, zero(green) is less than 5(orange), and you have swap if green is greater than orange. It should be backwards
really great video tho.
Thank you for asking about this.
So we are comparing each element (the green dot is the current index) to the pivot value (in our case, the last element of each array) and swapping the element at the green dot (the current index) with the element at the orange dot when required.
@@curiouswalk he is saying u are comparing green with orange with a > symbol as shown but in actual u are comparing them using < operator
i had the same confusion.
i guess there is a typo or i didnt get it so i am rewatching it bcz it can be a mistake at my end .