Merge Sort vs Quick Sort

Поділитися
Вставка
  • Опубліковано 24 січ 2025

КОМЕНТАРІ • 925

  • @sebastianmorataboada9795
    @sebastianmorataboada9795 5 років тому +4503

    "hey dude what sports do u watch"
    me: *_sweats nervously_*
    thx my folks for the correction

    • @mariafe7050
      @mariafe7050 5 років тому +57

      me: Sorting algorithms!
      "what"

    • @mariafe7050
      @mariafe7050 5 років тому +34

      It's been 1 month since I replied but I never noticed the misspelling of 'nerviously'. It's supposed to be 'nervously'. How did I not notic that?

    • @xl000
      @xl000 5 років тому +4

      said who ?

    • @whiskeyburns5230
      @whiskeyburns5230 4 роки тому +4

      lets play cricket

    • @mryup6100
      @mryup6100 4 роки тому +13

      @Commenter in a Box r/wooosh time!

  • @pelerflyp5398
    @pelerflyp5398 4 роки тому +3236

    “Instead of relying on miracles...”
    Bogo sort: 😥

  • @ihavetwofaces
    @ihavetwofaces 5 років тому +643

    I’ve seen multiple visualizations, code implementations, and descriptions of Merge sort before now. I still had almost no understanding of the core mechanic. After watching this video, I understand it perfectly, and see now how simple it is. This is a fantastic visualization. Thank you!

    • @uknownada
      @uknownada 5 років тому +18

      It's probably because this series of videos shows a practical way these algorithms are done. It's way easier to understand when you actually SEE it happen. You can do all of this in real life. I wish they could do this with the harder to understand sorts, like Gravity Sort.

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

      @@uknownada Sorts like gravity involve altering the values of items instead of redistributing the items

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

      @@uknownada Gravity sort sorts the elements by by placing beads on the first n poles for each number n in the list, then lets them fall. Simple as that.

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

      Merge sort was taught to me with a recursive implementation from the start, and that made it very confusing (no, despite what fans of certain languages will tell you, recursion is not "actually super intuitive and efficient").
      It makes so much more sense when it's first explained like this, and *then* you're shown recursive pseudocode.

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

      @@Eknoma You could watch my video on "23 minutes of distributive sorts" and skip to the part with gravity sort. Simplified gravity is also a way of representing gravity sort

  • @kenners1993
    @kenners1993 8 років тому +4180

    Can we get bogosort?

    • @udiprod
      @udiprod  8 років тому +1281

      There's definitely a popular demand for this algorithm, so I'm starting to think seriously about it. May I ask why you are interested in this particular algorithm?

    • @kenners1993
      @kenners1993 8 років тому +907

      udiprod Just because it would be interesting to see it animated, because it does not work with any rhyme or reason. It would be fun to watch.

    • @udiprod
      @udiprod  8 років тому +845

      Ok, thanks for the input. I'll certainly think about it.

    • @Dude7469
      @Dude7469 8 років тому +145

      I think it's about highlighting the part where bogo sort actually fails. Yes, we know the outcome that it doesn't work, but exactly at what point does it fail?

    • @ophello
      @ophello 8 років тому +244

      Dude7469 it doesn't "fail" so much as it's completely braindead. All it does is shuffle the objects randomly until it gets sorted by complete accident. There's really no point in animating something so stupid. Bogo sort is the worst possible sorting algorithm, but even bogo would eventually, given enough time, accidentally resort the list. If your list only had three items, for example, it would only take a few random shuffles to get it in order. But then imagine reshuffling a deck of cards over and over. You'd be shuffling those cards for billions of years before getting them back into order using bogo sort.

  • @GretgorPooper
    @GretgorPooper 7 років тому +952

    I skipped class, and now I'm cheering on cute little robots running sorting algorithms. What the hell is wrong with my life?

    • @StevenAkinyemi
      @StevenAkinyemi 7 років тому +10

      Gretgor LOL
      Everything basically.

    • @GretgorPooper
      @GretgorPooper 7 років тому +1

      I know that.

    • @zzZAnubisZzz
      @zzZAnubisZzz 6 років тому

      @@GretgorPooper How wrong is your life now? Doing any better?

    • @daydodog
      @daydodog 6 років тому +3

      are you at least a compsci student?

    • @bukujuku1541
      @bukujuku1541 5 років тому +2

      @@daydodog electrical engineering do this aswell

  • @LetsPlayKradnium
    @LetsPlayKradnium 8 років тому +837

    I watched "We are number one but every "one" is replaced by a sorting algorithm" and now this is all I get in my recommended box

    • @tttc
      @tttc 8 років тому +11

      It seems lately I keep getting bombarded with recommendations that are somewhat similiar to another videos watched....

    • @AlexVasiluta
      @AlexVasiluta 8 років тому

      「Look over here!」 we too

    • @josgeerink9434
      @josgeerink9434 8 років тому

      K

    • @milkywaylibrary
      @milkywaylibrary 7 років тому

      holy shit 😂

    • @cutekitty2358
      @cutekitty2358 7 років тому

      Brilliant

  • @cocoelacanth
    @cocoelacanth 4 роки тому +300

    This is actually a really good way of explaining sorting methods.

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

      I wanted to see Quick Sort deal with a perfectly sorted list at the beginning lol

  • @WeevilLover9000
    @WeevilLover9000 4 роки тому +97

    You know you reached the peak of entertainment when you make videos of sorting robots battling while you narrate it with the voice of someone in a child's learning program

    • @MI-lo2hj
      @MI-lo2hj 3 роки тому +20

      you know your in the peak of depression when your watching 2 robots sort balls

    • @torkakarshiro5170
      @torkakarshiro5170 2 роки тому +6

      @@MI-lo2hj ...or you are somebody from the nerd corner that wants to understand algorithms.

  • @Kneedragon1962
    @Kneedragon1962 10 років тому +186

    When introduced to the common sorts, we saw animated demonstrations much like this, with various data set sizes. With small groups, bubble sort is actually quite good. Go to 100+ in a group, and suddenly you see why it's called quicksort. With small groups, quicksort doesn't seem all that clever, but when the group size goes up, it gets very much better.

    • @udiprod
      @udiprod  10 років тому +30

      You can see in the quicksort vs bubblesort video. Already at 10 elements quicksort is much better than bubblesort:
      ua-cam.com/video/aXXWXz5rF64/v-deo.html

    • @Kneedragon1962
      @Kneedragon1962 10 років тому +2

      udiprod Then I think the 'random' group was set up. As a general rule, quicksort isn't that special on small groups. Sometimes, yes, but not consistently. Go to a bigger group, and it's blindingly obvious. It's so much better it's staggering. Also, much is made here of the number of comparisons. That alone doesn't tell the story. It's one part. Bubblesort isn't slow because of comparisons. It's slow because the number of operations is much higher. Comparisons are one operation. Quicksort seems like a somewhat more complicated algorithm, intuition wouldn't tell you how much better it is. Still, thank you for making these and sharing them.

    • @udiprod
      @udiprod  10 років тому +21

      Kneedragon1962 You are right that on very small groups quick sort's advantage won't be noticed, but on 10 it's already very much noticed. The random permutation wasn't set up.
      You're also right that comparisons is not the whole story. The competition shown in the video is in fact composed of several elements. For example, it takes time for the robots to move from side to side. Interestingly, in the quick-vs-bubble competition, quicksort spends more time on moving, so you can see bubblesort makes more comparisons per-second than quick sort. This effect is sometimes seen in real life as well.
      Thanks for watching and for interesting comments.

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

      @@udiprod It would be helpful if, in the description or accompanying discussion, there's a breakdown of what represents what (for us computer nerds). For instance - what about the robot moving side to side? In the video, it seems like it's at a constant velocity, but really one would expect to see constant *travel time* (or a far more complex pattern if the dataset is bigger than the L1 cache). Clarifying the assumptions made and whatnot (just a little bit beyond what's in the discussion) would be helpful.

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

      @@antonliakhovitch8306 agree!

  • @Muffinlicioification
    @Muffinlicioification 5 років тому +99

    the little sound that the balls make when being pushed back on the shelf is satisfying

  • @happycord3613
    @happycord3613 5 років тому +1919

    *"remove the darker one"*

  • @pangpengmaster
    @pangpengmaster 9 років тому +1071

    This is so cute.

  • @Uejji
    @Uejji 8 років тому +239

    The nice thing about quicksort is that once the nth pivot is correctly positioned, a 2^n-1 additional robots can be brought in to help with the sorting. As long as they stay partitioned by the positioned pivots, they will not interfere with each other.
    (This of course approximates parallelized sorting using quicksort)

    • @AlexanderPavel
      @AlexanderPavel 8 років тому +56

      Uejji Mergesort can also be parallelized at the beginning and only needs to drop to single threaded in the end, kind of like quicksort but in reverse

    • @groszak1
      @groszak1 5 років тому +6

      @@AlexanderPavel and bitonic sort can always be parallelized

    • @MinecraftLD10
      @MinecraftLD10 5 років тому +3

      Uejji Except will robot A like robot B messing with his desk? I think not.

  • @da_bes
    @da_bes 8 років тому +1221

    how did i get here

    • @einsteinsemut
      @einsteinsemut 8 років тому +4

      lol , ikr

    • @aurelia65536
      @aurelia65536 8 років тому +4

      Sflot
      Yes you did, you friccin moron.

    • @KEL5isGodrules
      @KEL5isGodrules 8 років тому +1

      oh fricc

    • @lelcat8414
      @lelcat8414 7 років тому +13

      It was recommended because enough people liked this video who also liked other videos with some qualities similar to other videos you have watched and liked.
      The process is called collaborative filtering, which is a machine learning algorithm that infers some abstract features of a video from correlation of user preferences, and uses those features (and your preferences) to characterize you as a user.
      (It is also possible that the recommendation system is content-based, i.e. meta-data associated with this video is similar to other videos you have liked or watched recently.)

    • @mariafe7050
      @mariafe7050 5 років тому

      Because you clicked here dummy

  • @deyannick
    @deyannick 10 років тому +42

    Studying computer sciences, I wished I had seen this video before, didn't really understand merge sort only by code, but this makes everything perfectly clear!

  • @TheRealTRackard
    @TheRealTRackard 8 років тому +1773

    What an odd way to teach programming concepts.

    • @dcs_0
      @dcs_0 6 років тому +189

      it works though! :D

    • @abandoned7501
      @abandoned7501 6 років тому +327

      What an even way to teach programming concepts.

    • @Chowow
      @Chowow 5 років тому +15

      At least we get it

    • @bigdoggetom6549
      @bigdoggetom6549 5 років тому +29

      Especially if the language you use just has array_sort as a function and no other choice

    • @triplef3v3r
      @triplef3v3r 5 років тому +94

      odd? what the hell.. you will never find another more clear explanation about sorting...

  • @campbellmcternan3902
    @campbellmcternan3902 5 років тому +109

    Video: *was uploaded 5 years ago*
    UA-cam algorithm 2019: *Oooooh yeah he’ll love this randomly*

  • @HallidayASR
    @HallidayASR 8 років тому +753

    • @张弼-i7h
      @张弼-i7h 7 років тому +1

      me too

    • @mariafe7050
      @mariafe7050 6 років тому

      Donovan A S R Which match?

    • @dancingbread7015
      @dancingbread7015 6 років тому

      Same

    • @sangramjitchakraborty7845
      @sangramjitchakraborty7845 5 років тому +6

      I was Q team. I love how simple quicksort is.

    • @dv_xl
      @dv_xl 5 років тому +2

      @@sangramjitchakraborty7845 I think most people would say merge sort is conceptually simpler than quicksort

  • @Alex-dn7jq
    @Alex-dn7jq 7 років тому +24

    Windows defragmenter uses merge sort. But instead of having a second shelf (or, in this case, disk) it moves files to the end of the partition, separating them using the empty space between them. That's why a good defragment process requires lots of free space.

  • @aalforhad
    @aalforhad 10 років тому +68

    your method of explanation is amazing

  • @JTX8000
    @JTX8000 8 років тому +220

    instead of hoping for miracle, it indirectly implies to bogo

    • @MiguelX413
      @MiguelX413 7 років тому

      JTX8000 xd

    • @Fif0l
      @Fif0l 5 років тому

      Bongo*

    • @AeroTheVaporeon
      @AeroTheVaporeon 4 роки тому +8

      @@Fif0l bogo sort actually. OH YOU LIKE SORTING? NAME EVERY *_S O R T_*

    • @anhbui-bc4ew
      @anhbui-bc4ew 4 роки тому

      @@AeroTheVaporeon cheeseburger sort

  • @whyttea394
    @whyttea394 4 роки тому +23

    One of a better explanations I could find online. Great job. Thank you guys!

  • @halfnwhole751
    @halfnwhole751 6 років тому +213

    2:18 Top 10 Anime Battles

  • @huyphamuc6372
    @huyphamuc6372 5 років тому +11

    it's 2019 and I finally found a channel that animates algorithms in such an easy way. Subbed

  • @barbarabeltran8274
    @barbarabeltran8274 6 років тому +160

    Merge all the way
    Sees 1st round: NOOOOOOOOOOOOOOOOOOOOOO!!!!!!!!!!!!!!!
    Sees 2nd round: YEA BOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

    • @guy7329
      @guy7329 4 роки тому +4

      And now say hello to MULTITHREADING

  • @jamieyang6416
    @jamieyang6416 4 роки тому +1

    This is my FAVORITE out of the search algorithm visualization videos...... the sound of the balls being placed back down is so satisfying
    I come back at least once a year to listen to the sound and watch the intense sorting match lol

  • @tsumikiminiwa4603
    @tsumikiminiwa4603 3 роки тому +40

    I'd actually be interested in a multi threaded comparison of this and quick sort.
    Merge sort can multitask at the start (when it's just very small subsequences) to merge while quick sort can multitask at the end (because things have been partitioned)
    How would they compare in best, random, and worst case permutations?

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

      Merge would likely do better as Quicksort relies a little upon luck to find a good split for the smaller lists. Smarter Quicksorts will often pass the lowest and highest values of a list, so the recursive call can identify the average between the two values and try to use that to split the list properly. This even splitting doesn't work right if the values are 'clustered' (i.e. a list with two numbers that are less than 100, eighteen numbers that are in 100-200 range, and five numbers that are in the 201-5000 range).
      Radix (MSD) could also benefit from multi-tasking, as each sub-group is then put into its own task for sorting.

  • @japanpanda2179
    @japanpanda2179 3 роки тому +8

    If quicksort chooses, by random, the highest-value unsorted item in the list each time then it literally becomes bubble sort. If it randomly chooses the highest and lowest alternately, it becomes cocktail sort.

  • @vicktorioalhakim3666
    @vicktorioalhakim3666 10 років тому +11

    I'd favor using merge sort over quick sort, simply because of the deterministic behavior. In one of my projects, I use sorting in a real-time system. Ensuring deterministic behavior is essential for estimating the performance and execution times of tasks.

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

      A bit late, but if you need deterministic behavior out of quick sort, have it pick the first element of an unsorted list. Or the last.
      The method of selecting the pivot is not important to it guaranteeing a sorted list at the end, but it may be paramount for sorting very quickly.
      Remember, if quicksort gets lucky and evenly divides the list in half with every pivot, it gets really really good results (not sure how good though), while its worst performance is roughly on par with insertion sort (picking the an element from an unsorted list that goes either at the top or at the bottom of the sorted list, i.e. never splitting the list and only reducing its size by 1 every pass)

    • @Carlos-ux7gv
      @Carlos-ux7gv Рік тому

      Merge sort is guaranteed to be O (n log n) and is a stable sort, while Quick Sort is O(n²) in the worst case.

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

    I’m so glad I found this channel. Makes me fall in love with Programming all over again when I’m losing hope

  • @ArixZajicek
    @ArixZajicek 8 років тому +80

    Anyone notice that the blip noise sounds exactly like Starbound's activate computer noise?

    • @xianchen1935
      @xianchen1935 5 років тому +2

      Omg you're right haha xD

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

      maybe it's a stock sound effect?
      either way, pretty interesting.

    • @nathancollins1715
      @nathancollins1715 3 роки тому

      Pretty sure they use it in the Talos Principle too.

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

    Put this series on the tv and boys will cheering on their favorite robots. Fights will be started over wrong predictions.

  • @SanctuaryReintegrate
    @SanctuaryReintegrate 5 років тому +30

    I wanna witness the robot for Radix LSD In-place Sort (Base 10)

    • @huyphamuc6372
      @huyphamuc6372 5 років тому +7

      You kidding? Radix sort isn't based on comparisions, how do you supposed those robots to do?

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

      @@huyphamuc6372 swish em around blindly

    • @smaybius
      @smaybius 4 роки тому +1

      The screen at the front of the table should show which number each ball is, and the robot should make piles for each digit it focuses on, then dumps them back into the list in order. It starts from the last digit, and the process repeats as it works its way up

  • @chauchau0825
    @chauchau0825 5 років тому +2

    This is by far best way of teaching algorithm I have ever seen in my entire life

  • @rob4290
    @rob4290 4 роки тому +3

    That merge sort robot was definitely concerned when the balls started sorting themselves.

  • @nadie-qm8rq
    @nadie-qm8rq 2 роки тому +2

    No matter how many of these videos I watch, I still think these competitions are so funny, like is serious stuff

  • @sasdagreat8052
    @sasdagreat8052 6 років тому +5

    I've been trying to understand the merge sort for a few weeks now, but to no avail. Who knew a robot with bowling balls was what I needed to finally get the concept?

  • @Iknowrealtv
    @Iknowrealtv 9 років тому +97

    You saved my life why couldn't you be my teacher.

    • @wishmaker7863
      @wishmaker7863 7 років тому +2

      but...isn't that kind of difficult for public school?

    • @Ucefgrb
      @Ucefgrb 5 років тому

      @@wishmaker7863 is that supposed to be a roast ?
      Cuz I'm not really sure

    • @wishmaker7863
      @wishmaker7863 5 років тому

      @@Ucefgrb there must have been a longer comment chain that's since been deleted...i honestly don't remember what i meant when writing this.

  • @hastley64
    @hastley64 5 років тому +6

    i wish my teacher explained like this... this video is GOLD!

  • @ginhoney
    @ginhoney 5 років тому +2

    I was on the verge of having a breakdown before watching this video (my exam is in 2 days and i still have to cram an entire semester worth of work and i don't understand shit). Thank you for this fun way of explaining this!

  • @김준섭_7769
    @김준섭_7769 9 років тому +20

    wow.. i could understand sorting algorithms easily. thank you!!

  • @frogdaddystar9694
    @frogdaddystar9694 4 роки тому +1

    You know you're life is failing when you're cheering on a sorting robot

  • @3ds12Game
    @3ds12Game 10 років тому +27

    MORE! Dude! we love this, come on! You know, when you start a channel with "GOOD" videos. then you have to go on!

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

    I'm new to programming and had problems understanding merge-sorting, how does it work and why it's efficient. Thanks to this video I answered every question in less than 5 minutes
    Thank you, short sighted robots!

  • @themachoyoshi
    @themachoyoshi 5 років тому +16

    On this week’s episode of
    “Why Is This In My Recommended”

  • @vivivizion
    @vivivizion 5 років тому +1

    watching this videos with no sound makes them into surreal mysteries

  • @wolf0s617
    @wolf0s617 8 років тому +3

    I never thought learning could be this interesting

  • @philipbao3725
    @philipbao3725 2 дні тому +1

    I think there’s a variant of quicksort that DOESN’T choose pivots/partitions at random, it always chooses the middle element in the list, then their sublists and so on

  • @juanverhook1608
    @juanverhook1608 8 років тому +21

    Quicksort is much faster in practice, and it is not only because memory consumption is lower but also because by using randomized algorithms you can choose an optimal pivot.

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

      Regular quicksort is O(n^2) worst case probably regardless of pivot choice. Randomized pivots make it a probably 1 in O(n) chance of it being the worst case. Try finding a good pivot for inputs that involve both halves or each quarter being already sorted and also perfectly linear instead of wrinkly. You're also right in some ways about it being faster in practice, as standard programming languages use it or variants as their default sort and merge sort or variants as their default stable sort. Some like Python only use merge sort or variants. Some variants of quicksort like introsort (default sort of C++ and C#) alleviate the worst case by using heap sort, or Java (at least OpenJDK) uses a dual-pivot quicksort. Partitions can be done by medians or something instead of particular items. There's a small but talented and active group by Musicombo that's dedicated to making sorting algorithms, either for fun or as serious and fast algorithms

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

    I can't process math this quickly, nor does this really mean anything to me pertaining to actual computing, but I'm on the spectrum and this is like the perfect li'l sensory video for my brain.

  • @giruppy
    @giruppy 9 років тому +5

    Can quick sort be adjusted to shoot for the average pivot? Say it surveys the data it has, finds the min and max, and averages that out and then uses the closest value for its first pivot? I'm sure this has already been thought up long ago - if so, what's it called?

    • @udiprod
      @udiprod  9 років тому +6

      giruppy Yes, there are all kinds of variants of this type. You can see here: en.wikipedia.org/wiki/Quicksort#Choice_of_pivot
      Actually finding the min and max as you suggest might work, but it will be more costly. An even more costly solution is to actually find the median, which is the optimal choice. There's an efficient way to do it in O(n) time, which yields a quicksort with guaranteed O(nlogn) runtime. But in practice (for reasonably sized n) it works much slower. See here en.wikipedia.org/wiki/Median_of_medians

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

    I cant believe UA-cam didn't recommend this to me for TEN YEARS!!!.

  • @ajsim
    @ajsim 7 років тому +7

    Really well done. I love the animations! Thank you

  • @extrapathos
    @extrapathos 6 місяців тому +1

    Merge sort is definitely my favorite now, I like the way it thinks

  • @hangchen6131
    @hangchen6131 7 років тому +4

    I love those robots. I hope they can accompany me to my exams.

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

    Finally, two with opponents. Their battle will be legendary!

  • @BlastinRope
    @BlastinRope 4 роки тому +5

    I show these to my dog hes learning how to write javascript

  • @popop72276
    @popop72276 3 роки тому +1

    i love this, i could watch this all day

  • @michka841
    @michka841 5 років тому +4

    Top 10 epic anime battles

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

    Not what I had in mind when I searched for “merge sort vs quick sort” but still helpful.

  • @retpolanne
    @retpolanne 5 років тому +3

    Where were you when I failed my Data Structures and Algorithms exam?

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

    I would love to see these as a kid! So fancy.

  • @aaroldaaroldson708
    @aaroldaaroldson708 8 років тому +11

    Is it me or these robots are so cute?

  • @Oxideacid
    @Oxideacid 4 роки тому +1

    Thanks! Now my friends are gonna call me a wizard when I sort a deck of cards in half a second.

  • @sawyannaung3885
    @sawyannaung3885 10 років тому +11

    It is very helpful for me to visualize them. I hope you could do the same for other algorithms as well. Two thumbs up !! (4 if you want to count toes XD)

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

    Me who accidentally saw a couple shorts and vids about sound of sorting and now this is the 10th sorting video today

  • @aliathif7778
    @aliathif7778 5 років тому +3

    I dont know what is happening but i kinda like it

  • @vclarke4433
    @vclarke4433 7 років тому +1

    I love that instant replay on the sorting robots

  • @fabts4
    @fabts4 9 років тому +2

    What if you use Quick Sort for the first level and Merge Sort for the others?

    • @udiprod
      @udiprod  9 років тому +8

      +fabts4 This will create hybrid algorithm whose statistics are somewhere in between that of quick sort and merge sort (e.g., somewhat more comparisons than merge sort, but a little less than quick sort). Usually quick sort is combined that way with another algorithm: insertion sort, since it performs less swaps.

    • @fabts4
      @fabts4 9 років тому

      +udiprod Haven't seen insertion sort on the chanel...

    • @udiprod
      @udiprod  9 років тому +4

      +fabts4 Yes, right. I actually plan to do it sometime. Hopefully this year.

    • @JM-us3fr
      @JM-us3fr 6 років тому

      There's probably a linear time algorithm that can determine if Merge or Quicksort is better.

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

    Merge sort can actually alternate the shelf its using to optimize moving the elements (in addition to the optimization listen in the article). How much would that increase Merge Sort by?
    Actually Merge sort can choose to in-place Merge the first 2 Elements based upon if it would need to move the elements on the last merge again, which would only happen if there is an odd number of recursion steps.

  • @digtzydogmemechannel5670
    @digtzydogmemechannel5670 6 років тому +4

    I love the subtle accent of the narrator. There's some accent that she was trained out of but I really want to hear it more...

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

    the reason that merge does so much better than quick in the worst-case test is that in quicksort, every element has to be compared against almost every other element (in true worst-case, it would be every element compared against every other). in merge, however, even with the maximum number of comparisons per level (where all the lists of 1 are merged before any of the lists of 2), the number of comparisons is never more than the number of elements, but the number of levels only grows logarithmically (that is, the number of levels increases by 1 with each power of 2 elements you pass)

  • @ZtereoHYPE
    @ZtereoHYPE 5 років тому +3

    This is actually cool

  • @ljkholic
    @ljkholic 4 роки тому

    how did i get on this side of youtube i just wanted to watch some colors get sorted all funky like one time and now this is my whole feed

  • @DebabrataAcharya93
    @DebabrataAcharya93 5 років тому +4

    0:36 “... and remove the darker one”. r/HolUp

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

    I didn't care about sort algorithms. I stayed here to watch those cute robots.

  • @ritik84629
    @ritik84629 5 років тому +8

    I didn't know that I was starving till I tasted you

  • @timothymclean
    @timothymclean 3 роки тому +1

    I'm disappointed that they didn't bother addressing how we know lists of size 1 are already sorted. But not as disappointed as I am in the functionality this video lost when annotations were disabled.

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

      It's self-explanatory that a list of size 1 would be sorted. What element is going to be out of order? There's only one.

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

      @@michawhite7613 What can I say, I like rigorous proofs of the obvious. It's the difference between knowledge and understanding.

  • @alwinpriven2400
    @alwinpriven2400 7 років тому +7

    guys I think I found a way to make the sorts much faster: fix your robot's short-sightness.

    • @taureon_
      @taureon_ 6 років тому

      lmao

    • @thehiddenninja3428
      @thehiddenninja3428 6 років тому

      And what would you do then?
      Look at them all, and put the darkest at the front, and repeat?
      Selection sort.

    • @groszak1
      @groszak1 5 років тому

      @@thehiddenninja3428 with fixed short-sightness that would be parallel selection sort

  • @igrvks
    @igrvks 5 років тому

    I don't know which is more intriguing, why is this in my recommended or why is this so oddly interesting

  • @ayeariola
    @ayeariola 7 років тому +3

    How about radix sort and bucket sort?

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

    Request: Do weave sort.
    It interleaves the merged lists and then uses insertion sort on the interleaved list.

  • @Geoxor
    @Geoxor 10 років тому +4

    Im your 3000th SUB :DDDDDD

    • @udiprod
      @udiprod  10 років тому +1

      Thanks! :)

  • @ChakkyCharizard
    @ChakkyCharizard 5 років тому +1

    this gives off strong vibes of being an educational video made for schoolchildren in 1994

  • @lapidations
    @lapidations 6 років тому +8

    Phew, for a second I thought that merge would win! #teamquick
    Edit: oh no, I celebrated too early

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

    one of the issues with merge sort is the increased memory usage it inherently needs. it requires 2 full sized heaps of memory equal in size to the list

  • @daltonmcghghy9215
    @daltonmcghghy9215 5 років тому +4

    Nobody:
    UA-cam recommended at 12am:

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

    best sorting visualization I have ever seen

  • @ophello
    @ophello 8 років тому +3

    You talk like asian reporter Tricia Takanawa.

  • @Gejam_GameDev
    @Gejam_GameDev 3 роки тому

    So merge is quicker than quick.
    *Wow this is mind blowing*

  • @JiancongXie
    @JiancongXie 3 роки тому +1

    Really nice explanation, never seen more vivid one.

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

    You make sorting algorithms seems like competitors in some obscure Olympics sport.

  • @originalname28
    @originalname28 4 роки тому +1

    My 2021 is off to a great start

  • @antoinettenaughton6382
    @antoinettenaughton6382 4 роки тому +1

    I think this is an awesome visual representation of sorting. How many screeching line sorts can one watch?

  • @walkerszczecina2804
    @walkerszczecina2804 6 років тому

    The sound of the balls being pushed back to the bottom shelf is so satisfying

  • @thegeneralissimo470
    @thegeneralissimo470 6 років тому +1

    Finally, something that helps you understand what actually goes on

  • @GTXMUGEN
    @GTXMUGEN 3 роки тому

    すげぇな、場合によってこんなに差出るのね。それにしても、ロボットが一生懸命ソートしているの可愛い。

  • @exe_
    @exe_ 7 років тому

    How come this is the first time I stumble upon this channel?

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

    *The time complexities are*
    Best: O(nlogn)
    Average: O(nlogn)
    Worst: O(nlogn)
    Storage: O(n)

  • @konstantingeist3587
    @konstantingeist3587 6 років тому +1

    Don't forget that mergesort requires additional memory. Quicksort is in-place. So if you have to do lots of sorting continuously, and your programming language is garbage collected, quicksort will be a better choice, because it won't be over-allocating and stressing out the memory manager. Hence in the majority of standard libraries across programming languages, quicksort is the default sorting algorithm.