Sorting Algorithms Explained Visually

Поділитися
Вставка
  • Опубліковано 27 тра 2024
  • Implement 7 sorting algorithms with javascript and analyze their performance visually.
    Learn how JetBrains MPS empowers developers and non-developers to benefit from domain-specific languages (DSLs): jb.gg/jetbrains_mps
    Check out the sound of sorting project panthema.net/2013/sound-of-so...
    Source code github.com/fireship-io/sortin...

КОМЕНТАРІ • 438

  • @joseevb04
    @joseevb04 Рік тому +3144

    Bogo sort is both the slowest and fastest sorting algorithm. Depending on your luck you can have it sorted at the first try or never, and me personally I like those chances

    • @MusicBox.Melodies
      @MusicBox.Melodies Рік тому +42

      @@mihaimanole2643 I think it is more like 1/infinite if the random sequences are not stored. You might never find the correct sort after a long time but you should get there with infinite time!

    • @gabriel837
      @gabriel837 Рік тому +273

      50% chance every run. the array is either sorted or it isn't

    • @nixoncode
      @nixoncode Рік тому +8

      welcome to the game of life

    • @KrisKamweru
      @KrisKamweru Рік тому +65

      @@gabriel837 biggest brain logic I ever saw 😂

    • @user-dh8oi2mk4f
      @user-dh8oi2mk4f Рік тому +9

      @@MusicBox.Melodies No, each time you shuffle you have a 1/n! chance to have it be sorted.

  • @Nanagos
    @Nanagos Рік тому +1804

    If you think Bogo sort is bad, you haven't heard of miracle sort. This works by checking if the array is sorted, if it's not: check again. You have to wait for some miracle to happen, so the memory is getting corrupted in some way.

    • @destroreact5706
      @destroreact5706 Рік тому +197

      Ah, so I follow Miracle Sort to sort out my real life problems.

    • @Yipper64
      @Yipper64 Рік тому +151

      Its the "are we there yet?" of sorting algorithms.
      "is it sorted yet?"
      "no?"
      "is it sorted now?"
      "still no?"

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

      Expecting heat death

    • @GuyFromJupiter
      @GuyFromJupiter 11 місяців тому +33

      Waiting on those cosmic rays lol!

    • @p3chv0gel22
      @p3chv0gel22 10 місяців тому +18

      At university, we once created a similiar algorithm (funny enough without even knowing that miracle sort was a thing), but based on putting our memory next to a radiation source to basically create our own cosmic rays lol

  • @maxijonson
    @maxijonson Рік тому +1196

    The best algorithm I know is the Stalin sort. It simply removes the elements that are not in order. Not only is it an O(n) algorithm, but it also SAVES memory when you run it! It's really great!

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

      Lemme look that up, I was under the impression that Mao sort is the best algorithm ever

    • @RaefetOuafiqo
      @RaefetOuafiqo Рік тому +7

      it is O(n²)

    • @tnvmadhav2442
      @tnvmadhav2442 Рік тому +24

      That would be aladeen sort sir

    • @hypercrack7440
      @hypercrack7440 Рік тому +35

      Doesn't it send them to the Gulag?

    • @rolandoa.rosalesj.1661
      @rolandoa.rosalesj.1661 Рік тому +27

      ​@@RaefetOuafiqo It is O(n), because you only need a single for loop, for each element check if the previous element is less than the current one and then yield item, otherwise you continue with the next one.

  • @MattheousOfficial
    @MattheousOfficial Рік тому +287

    Mistake at 4:08 where you say merge sort results in quadratic time when you're talking about selection sort

  • @regibyte
    @regibyte Рік тому +357

    My man out here being sponsored by jetbrains itself. Bravo man 👏🏻👏🏻👏🏻

  • @BrokenBuildings
    @BrokenBuildings Рік тому +616

    You should have mentioned Quantum Bogo sort, splitting the universe into all possible combinations of the shuffled array and destroying every universe where its not sorted. It has an O(1) time making it the best sorting algorithm

    • @igorswies5913
      @igorswies5913 Рік тому +33

      reminds me of Stalin Sort

    • @finsflexin
      @finsflexin Рік тому +21

      Another good one is sleep sort. It’s just sleeps every value.

    • @deep.space.12
      @deep.space.12 Рік тому +11

      Wouldn't it still require O(n) time to check if the array is sorted?

    • @Woffieee
      @Woffieee Рік тому +13

      @@deep.space.12 Yupp. Anything it would gain through optimization still requires it to itterate through the list atleast once. As in, the shuffling alone requires you to atleast go through the items in the list once. And big O notation only cares about how much each additional item increases the time needed. As in, an algorithm that takes 2n and 20000n would both become O(n) in duration. Just as a an algorithm that completes in 10 cycles regardless of input vs one that completes in 20000000000 cycles would both be considered O(1).

    • @keemkorn
      @keemkorn Рік тому +10

      @@deep.space.12 nah, cus then we could just do a quantum bogo search and destroy the universes where the sorted list wasn’t selected. Simple.

  • @anthonyhowell4352
    @anthonyhowell4352 Рік тому +404

    Algorithm timestamps:
    1:37 - Bubble sort
    2:33 - Insertion sort
    3:32 - Selection sort
    4:11 - Merge sort
    5:26 - Quick sort
    6:53 - Radix sort
    7:54 - Bogo sort

    • @aarona3144
      @aarona3144 Рік тому +21

      I love how you sorted the time stamps for each.

    • @Gbtx6
      @Gbtx6 Рік тому +8

      now we need Beyond Fireship to copy paste this into the description

    • @jerbear97
      @jerbear97 Рік тому +3

      haha insertion

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

      Thanks, there was too much prelude and sponsor time.

  • @JSorngard
    @JSorngard Рік тому +101

    You should have covered quantum bogosort:
    1. Use some quantum source of randomness (e.g. radioactive decay) to shuffle the list. If we assume that the many-worlds interpretation of quantum mechanics is true this will result in one universe for every possible list order.
    2. If the list is not sorted, destroy the universe (this is left as an exercise to the reader).
    3. The only surviving universe is one in which the list is sorted.
    This sort is not stable, but this problem can be easily fixed: just use the same randomness source to generate random source code and destroy the universe if the generated code is not a stable quantum bogosort.

    • @enorma29
      @enorma29 2 місяці тому +3

      I coded this, and the fact that you're reading this proves my array is now sorted.

  • @avaneeshc
    @avaneeshc Рік тому +36

    Job interviewers should understand the last line of this video.
    "So basically, everything you learned in this video is useless on a practical level"

    • @chrtravels
      @chrtravels 2 місяці тому +3

      I was thinking the exact same thing. Learn this stuff to find a job and the shelf it until time to look for the next job, lol.

  • @StrangeGamer859
    @StrangeGamer859 Рік тому +49

    I like quantumsort. It does nothing but check to see if quantum fluctuations have caused your data to spontaneously sort itself

    • @GodmanchesterGoblin
      @GodmanchesterGoblin Рік тому +14

      The great thing about quantum sort is that somewhere in a parallel universe, your data array already exists in a sorted form, and a parallel copy of you is already using it. 😁

  • @developerpranav
    @developerpranav Рік тому +91

    This is like learning the most boring topics in the form of a kindergarten musical math lesson. Absolutely loved it !

  • @diegoalvarez437
    @diegoalvarez437 Рік тому +17

    It's funny how my window screen hasn't loaded yet and there's your voice. Thanks for sharing.

  • @jasonphilbrook4332
    @jasonphilbrook4332 Рік тому +37

    It's also worth considering how data might be added to the array causing a need to re-sort. If data is rarely changed, the sort algorithm doesn't need to be most efficient. If data is regularly added or removed, how it's added/removed can be important combined with the sorting algorithm.

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

      yes, i was thinking same

  • @noid3571
    @noid3571 Рік тому +40

    I made little markdown explanations in Obsidian for most of these algorithms because our professor had a very questionable teaching method that resulted in like 60% of students confused and clueless.
    Shoutout to the big brains behind mermaidJS, I wouldn't be able to explain merge sort without your graphs!

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

      can you share the explanations?

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

      Did you make your own graphs using mermaidJS ?

    • @noid3571
      @noid3571 Рік тому +3

      @@bruvhellnah I just used the top-down graph to illustrate merge sort splitting and forming back together. I'll try to translate the files this weekend!

    • @noid3571
      @noid3571 Рік тому +3

      Sorry guys, I got my hands full. The script is a mess to translate and I just don't have the time but thank you for showing interest. Maybe I'll start writing a new script in English to cover C/C++, JS, and similar stuff and concepts. I guess It will come in handy to someone in the future.

  • @holdthat4090
    @holdthat4090 Рік тому +96

    I think radix sort does extremely well when the input data is massive, like 10M+ values.

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

      indeed
      same with counting sort, although that's for fairly small numbers
      (counting sort doesn't scale well as the largest number in the array gets large, which is why radix sort exists)

    • @dealloc
      @dealloc Рік тому +5

      But only if 1) it's an array of integers, and 2) requires intermediate sorts to be stable.

    • @mumujibirb
      @mumujibirb Рік тому +3

      @@dealloc i mean, anything can be converted into ints, though it would mean strange code...

    • @zecuse
      @zecuse Рік тому +3

      @@dealloc 1) This can be solved if your data can be transformed into integers in a 1-to-1 correspondence. 2) Only important if you care about positioning.

    • @1-_-I
      @1-_-I 8 місяців тому +1

      I UNDERSTAND NOTHING

  • @alexjones420
    @alexjones420 Рік тому +78

    Interesting, but which array method will help me center this div?

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

    Creel's multi part series on sorting algorithms was really excellent and gave a lot of great details, but this was a nice and condense video!

  • @hugazo
    @hugazo Рік тому +9

    In pandemic i viewed a LOT of sorting videos, they are mesmerizing in their own way.

  • @professornumbskull5555
    @professornumbskull5555 Рік тому +35

    Radix Sort, doesn't split in buckets of 10, the general meta is to use a base of 256 and there are two implementations, one with buckets and one with counting, I recommend creel's video on the topic, it's really descriptive.

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

    Thank you for this video, the sound aspect is really interesting .
    And the conclusion is gold 😆

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

    wow, my favourite programming youtuber shows videos my buddy from university made a decade ago - never expected that 🎉

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

    This is timely as I am currently prepping for a tech interview

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

    I work at the library and was looking for better ways to sort books! The intro confirmed I was in the right place!

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

    Because of this kind of videos, I ended up designing my own version of Merge Sort, called YAMS (Yet Another Merge Sort)... It's satisfying.

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

    amazing video as usual!!!
    by the way at 4:08 you said merge sort but it was the big O notation of selection sort that you were describing

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

    I once wrote a sort where I would check the array for consecutive numbers, break if the next is lower than the previous and put all these blocks in a new array. Then run over the array again inserting values at their "correct" position in the new array.

  • @User-vx2jd
    @User-vx2jd 15 днів тому

    The explanation was on point. you did miss out talking about run time of all sorting methods after selection sort.

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

    Sponsorship!! Congrats Fireship 🎉🎉

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

    6:30. Us chilling to watch it on TV. Thanks fireship
    You never dissapoint 🔥

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

    Three sorting algorithms can teach you about practical, theoretical, and then mind-bending sorts. Whether you're preparing for interviews -- at any level -- or curious about the topic, try these:
    Timsort, a hybrid of insertion and merge sort, may have executed in production more times than any sorting algorithm ever. Variations of it are the standard library for Python, Java, and Rust. It works, and those two are a gentle introduction to sorting.
    Bucket sort rips up the math you learned, if any, in Timsort (by executing in O(n) time). It can be helpful for interview questions. You might never implement this, but it's a lovely idea.
    Bitonic sorting is what happens when you take advantage of parallelism -- and the result is awesome! The speed-up is better than linear (e.g. 2 cores running 2x fast), if that's what you were expecting. Look it up!

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

    this was the best video i have ever seen this hour. nice!

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

    The quicksort algorithm implemented in Haskell:
    qSort :: Ord a => [a] -> [a]
    qSort [] = []
    qSort (x:xs) = qSort small ++ [x] ++ qSort big
    where
    small = [a | a

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

    With the sound effects for the sorting algorithms, I am reminded of the NES game “Life Force”, which brings back great memories.

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

    For Quick Sort at 5:59 he forgot to finish the partition() function with “return partitionIndex;”
    Great video!

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

    definitely the best video on sorting ever !

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

    Those animations are trippy. It's like watching and listening to a computer think.

  • @TheMR-777
    @TheMR-777 Рік тому +1

    RADIX SORT: A Man, who's work doesn't seem useful, but surprises everyone at the end.

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

    Nice Video! I wish this Video existed, when i hand Algorithms and Data structures in Unitversity...

  • @rcnhsuailsnyfiue2
    @rcnhsuailsnyfiue2 Рік тому +15

    Your Bogosort implementation is even more stoopid than it needs to be 😂 The sorted() function at 8:17 could simply return false immediately, but instead it assigns false - then pointlessly checks the entirety of the rest of the array for no reason! Well done 👏

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

    This was awesome, thank you.

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

    Quantum Sort is the clear winner, the array is both sorted an not sorted at the same time, so you simply return the sorted array. Order of magnitude is O(-1)

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

    Did you hear about CNsort?
    The Chuck Norris Sort Algorithm (CNSort) is a groundbreaking sorting method that operates on the principle of sheer intimidation. In the world of computer science, algorithms are supposed to logically organize data, but CNSort takes a different approach. Here, arrays don't dare to be unsorted. As soon as the CNSort is invoked, the elements in the array glance up to find Chuck Norris staring them down. Overwhelmed by his formidable presence, the elements immediately line up in perfect order, each one too afraid to be out of place. Efficiency is key: CNSort achieves a sorting time of O(1), because no element wants to waste Chuck Norris's time by being out of order.

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

    Ending was master piece

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

    If your sorting positive integers, you can use the integer as an index into a counting array initialized to zeroes, then make a single pass to count how many times each number occurs, then restore the array from the counting array. You make 3 passes. Pass 1: Init counting array to 0's, Pass 2: count how many times each value occurs, Pass 3: Rewrite array from counting array. If you have negative integers, find the largest negative number, then use the positive value to offset all of the numbers. When you restore from the counting array, subtract the offset. Finding the correct offset is an additional pass. The offset can work in the opposite direction if the smallest number is very large. Offset the smallest large number to 0. This sort is good when the range of numbers is small. The larger the range, the larger the counting array needed.

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

    this brings me back to when youtube randomly recommended a sound of sorting video

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

    I was always waiting for the day fireship covered algorithms. Did I know I was waiting? No. Was I pleased. Yes indeed

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

    I love this guy. Nothing can prepare you for the end of this video. 😂

  • @TheMR-777
    @TheMR-777 Рік тому +3

    RADIX SORT is like a student, who (seem to) doesn't study all year, but outperforms in Exams :)

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

    Thanku for posting this video milord

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

    Good to know the class I'm currently taking is completely useless as well!
    Just kidding.
    Thanks for this awesome video ahead of my exams next month

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

    And my dumbass has watched this twice right now and still doesn’t understand a thing but I’m all for it

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

    4:07 Minor correction to the viewers. Here he's talking about selection sort and not meme sort. After this, there is the merge sort section

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

    Computer: 'I fear no man, but that thing...'
    Bogo sort doing random noise on the screen.
    Computer:'... scares me.'

  • @martindaskalov3140
    @martindaskalov3140 5 місяців тому +1

    Oh can imagine it now, senior coming up to me yelling at me, why did i implement this sort when its so slow. And i just turn towards him and say: "I am feeling lucky today".

  • @dougpark1025
    @dougpark1025 Рік тому +4

    Bucket sort is a solid O(n) sort that everyone should know about. It has limited use cases. Another sorting technique is to take advantage of multiple cores and sort in parallel. A good default choice for sorting is quick sort as it will often be more than fast enough.
    If you want to have some fun. Ask any programmer how long it will take to sort one million integer or float values. The answer is almost always a surprise. Hint, it is fast enough that when processing tons of data a sort then process algorithm is often a big performance improvement over other options such as tree based systems.

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

    Imagine an alternate universe that's identical to our own, except bogo sort always finishes first try.

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

    4:08
    It should be "Selection sort also results in quadratic time complexity."

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

    Watching those pancakes getting binned at the end hurt my soul

  • @B.D.B.
    @B.D.B. 9 місяців тому +2

    Insertion sort should be O(N log N). I agree that your implementation of it is O(N^2), but it's very easy to make an insertion into a sorted array an O(log N) operation.
    Edit: to be clear this can't be done with arrays, because while searching a sorted array is still O(log N) insertion is O(N). So you'd have to copy over the data to a balance binary tree and then copy it back, trading space complexity for time complexity.

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

    2 years late but appreciating it anyways

  • @User-vx2jd
    @User-vx2jd 15 днів тому

    I would also recommend you to explain merge heap in your video.

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

    that ending was glorious

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

    This is brutally COOL

  • @alireza.m
    @alireza.m 10 місяців тому

    Great video!

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

    I loved this video, Jeff plz create a crash course series on youtube on "DATA STRUCTURES & ALGORITHMS" plzZZZ

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

    love the videos, although i did get nerd sniped by the confusing results between insertionSort and selectionSort benchmarks.
    while it is cool to swap two values in javascript using array destructuring it causes significant overhead (allocating unnecessary arrays) when compared to a temp variable swap solution. this causes your insertionSort and selectionSort benchmarks to be different by about 2x even though their time complexity is similar and on a fair benchmark should result in roughly the same time taken to complete. i think that's what's causing the gap in performance between the two

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

    2:01 The ES6 way to swap two values in an array in one line with no temp variable: [arr[j], arr[j+1]] = [arr[j+1], arr[j]]

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

    Bro just got sponsored by Jetbrains 🔥

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

    These algorithms are all way so efficient! I have written an algorithm with worse time complexity than tree(n). Who doesn't want to make more than grahams number of comparison just to sort two elements?

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

    0:09 Love how Shellsort is outperforming Quicksort quite dramatically in the example :D

  • @Eazy._E
    @Eazy._E 10 місяців тому

    Didn’t understand nothing but the animation are just gorgeous

  • @GoldenEmperor5Manifest
    @GoldenEmperor5Manifest 10 місяців тому +1

    Well that went way over my head.

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

    Putting sorting into the hands of RNGesus sounds good to me

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

    Would you mind enabling downloads here? Makes it easier to watch when the network is slow

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

    holy fuck a WHOLE NOTHER FIRESHIP CHANNEL?!

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

    This needs to be updated because of the latest *OpenAi breakthrough* in dorting algorithms 💡

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

    Great Video Sir , I appreciate you for all the knowledge given by you and for all the efforts that you put in these videos. Sir ,I just wanted to mention one thing that as Books refer to some knowledge and for Indians, book refer to our Goddess Sarawati. So just requesting you not to tear them like this.

  • @getmeoutoftheyoutubeservers

    you can conduct an in-place merge sort by conducting the merges in place

  • @hpexaltedblade6076
    @hpexaltedblade6076 11 місяців тому +2

    i like how he told us at the end all of these r useless

  • @Ray-xy1bp
    @Ray-xy1bp 7 місяців тому

    How about counting sort ? Its the sorting in which you have to increment the elements of the vector that have the given values as its indexes. For example
    We have the folowing elements :
    3 6 2 9 5 1. To sort them, we use a vector V that has all the elements 0 and you have to increment the values V[3], V[6] etc. and then just display the indexes of the non-zero elements

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

    Are there any hybrid methods? Is there utility in starting with one type of algorithm and then switching to another once the data is more uniform / sorted for example?

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

    The end was epic.

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

    Well, Bogo sort is the theoretically fastest algorithm :) It's also the one that in theory could not be done before the heat death of the universe if you are unlucky enough.

  • @monishsudhagar
    @monishsudhagar 10 місяців тому +1

    I like to think there's an alternate universe where bogo sort always works and nobody knows why.

  • @ynxeita4131
    @ynxeita4131 10 днів тому

    Somehow no one has mentioned bogo bogo sort yet
    It takes the first two elements of the array and bogo sorts them in the first try
    It then takes the first three elements of the array (that is, the already sorted first two elements plus the next one) and bogo sorts them in the first try
    It then does the same with the first four elements of the array, and so on and so forth with the rest of the array
    If at any point the elements are not sorted after the first try, it starts all over again from the first two :)

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

    I don't even code and I found this interesting

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

    What would be the best way to sort posts for an instagram like App.
    Im doing a simple JS sort algorithms in the frontend after the end-user fetches all the posts from the server, the I do alot of filtration to make sure none of the blocked or hidden posts are visible to this end-user and group them based on this sort algorithm in the frontend. But I'm wondering what would be a better way to do that keep in mind it's a simple Firebase App without serverless functions or NodeJS. (React-native)

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

    Radix sort is my favorite

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

    Time sort - for each element make a thread that will wait element value number of seconds and append the value to the new list

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

    LOL, never heard of bogo sort until now. I guess, I learn something today.😁

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

    My favourite sorting algorithm is `Stalin sort` :
    Simply iterate over each element in the list. If the current element is smaller than the last, _simply remove it!_
    Stalin sort will always produce a sorted array in O(n) time complexity!

  • @rounaksen1683
    @rounaksen1683 Рік тому +4

    AHH!, Finally pure programming (sorting) 🎵 LoFi 🎧 Music (Kind of).

  • @Pritam-Youtube01
    @Pritam-Youtube01 Рік тому +1

    The radix sort you discussed is not a radix sort it is buckets sort. Radix sort is that where you use count sort on every parts of an elements.

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

    damn, this video is very nice

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

    One niche fact that I think should have been added to the video is that there doesn't exist a comparison based sorting algorithm faster than O(nlogn).

  • @0xNordian
    @0xNordian Рік тому

    You are the best!

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

    08:21 bogo sort makes some sick beats, tho.

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

    There's some issues with this video but it's a nice introduction I guess. Would've been cool to mention in-place merge and binary search insertion though. Follow-up video maybe?

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

    Thank you 🙌

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

    Your quicksort works in O(N^2) if the data is constructed in special way. Pivot should be random