“Innnn the right corner, built by a team at Google DeepMind, the challenger with four straight victories in a row including two by technical deadlock. This brainy bot will put you Out Of Order, iiiiit’s AlphaSoooooooort!”
Should have implemented some of them with threads, as mergesort and quicksort are easy to parallelize and get much faster. For Quicksort, you don't even need synchronization.
@@Julianiolo yes that's true, but this is in general a measurement bias in this tournament. First we need longer numbers, as radix sort is O(n*m) with m being the number of digit's, while for other algorithms the number lengths is irrelevant. Also we need more numbers to gain actual data and we need them tested multiple times to get valuable data.
@@Julianiolo also there are python threads, but they indeed have a problem that they are often not executed in parallel but instead are reduced to linear code execution
@@morl1273 "threads" in python only help when dealing with i/o and similar, since they cant use multiple cores. Multiprocessing is kind of the equivalent for python, but that has other issues.
Yeah I'm aware :). It's just kinda of frustrating that after learning about sorting algorithms in Python, there's just a function that does it like waaaay better than anything you could do in Python :)
Love content like this.... But I have one critique that was not mentioned in the video afaik. There's no "one size fits all" sorting algorithm, though some algorithms certainly are better than others in the majority of cases. Parameters like the size of the list, the type of data in the list and how the data in the list is ordered can make a major difference for example, as I'm relatively sure the wikipedia page on sorting algorithms points out. A truly fair competion as I see it would have categories. In one axis short, medium and long distance (aka n. I'd say n=1.000, n=100.000 and n=10.000.000), in another axis swimming, running and cycling (objects, strings and integers) and in the final axis a suny day, a windy day and a stormy day (almost sorted, fully random and p much reverse order). That being said, keep up the good work. ( ^ v^)b Ps: poor bogosort being called the worst when bogobogosort exists :P EDIT: meant to send as original post not reply xD oh well too late
@@Den_drummer Don't forget quantumbogosort. Randomise the list. In at least one universe (as per many worlds interpretation) the list is now sorted. If it is not sorted, destroy the universe you are in. You are now left in a universe where it is sorted (as per quantum immortality).
Awesome video! I think a potential factor in why the tournament results were a bit off comes from how the n value was changed from bracket to bracket. Because of the different time complexities, some sorting algorithms might work faster with smaller values and so they might start floundering as the list size increases.
You should make different categories with different amounts of elements, for example 10, 100, 1k, 10k, 100k, ... and see how for example insertion sort dominates everything for the lowest category (if it is few enough elements), then quicksort dominates everything in the middle and then the big O complexity of radix sort enables it to outrun everyone else. Also, it would be in the spirit of Olympics because there are different sports (= different categories) Nice video though, you deserve way more subscribers!
Oh and maybe in the future, you could host some competition where people send their algorithms and you let them run and compare them, similar to what Sebastian Lague did with chessbots last summer. That way you would have plenty of algorithms and it could be a really interesting content that I have never seen before on UA-cam.
I didn't knew this channel existed. That is a really good work. I presented it to beginners and they absolutely love it as I do. Directly subscribed. You need a really good job on this!
Why we have all of these to begin with: - some algorithms are what we call "stable". this means that the order of elements that have the same value for the property we are sorting on does not change - some algorithms work in-place, whereas others need to make a copy of the list. Algorithms that are not in-place use more memory and sometimes don't utilize CPU cache well. - the speed of an algorithms sometimes depends on what list you are sorting. Quicksort has a best-case time complexity of O(n log n). but it can perform as bad as O(n^2), if the list is organized such that the chosen pivot is a minimum or a maximum of the current slice. Merge sort on the other hand, has a time complexity of O(n log n) no matter what. - Finally, radix sort is a bit different from the rest. It performs O(nk), where k is the average number of digits a number has in the list. But the trouble is that radix sort is unwieldy to implement when you want to sort data that isn't plain integers or strings. also, if your list is small and your number of digits high, radix sort can be as bad as bubble sort.
Specifically, the more common radixsort is LSD radixsort, but MSD radixsort is somewhat common too. Least significant digit is what was used in the video, a unique effect is those last three iterations with the stair-looking things.
6:32 problem is that by selecting a bad pivot, quick sort could end up with O(n^2) time, so on average it would win but it could also lose, meanwhile the other algorithm is consistent.
1:32 well it may seem fast but technically a human can sort in O(n) time only having to look at numbers once, the main problem is how long the O part is.
I just wanna point out a few things: * Merge Sort is the best algorithm here. It is a comparison based algorithm, so it works for all values that can be compared including strings. It is actually faster than Quick sort. It runs in n log2 n in the WORST case, which is very fast. Quick sort runs in n loge n on average but slows down to n^2 in the WORST case. * Count sort is one of the fastest sorting algorithms out there, but it's not comparison based. It runs in n time in the worst case, which means that it will take about as much time as it takes to look at the entire input data. * Lastly, each algorithm exists for a specific purpose. Sometimes, you can use Count sort, but mostly you can't. It's not as simple as which is the fastest. Merge sort is, in my opinion, the best. PS: Radix sort and Postman sort are an extension of Count sort.
While this is small enough that they probably won't bother you, I did want to let you know that the Olympics is a trademarked or copyrighted thing and they _do_ go after some creators. The one I'm thinking of is a really big one, the MarbleLympics (now Marble League). Not a criticism or saying you should change anything. Just thought I'd shoot you an fyi
Every sorting algorithm has it's advantages and disadvantages, so it depends on the situation. If you have always a lot to sort, then one algorithm may be better, while if you have small amounts of data to sort, then another one may be better, etc. Also, even if algorithms have the same time complexity, they may differ with how good the best case is, etc. Also, just because one algorithm has a better time complexity, it may be worse than one with a worse time complexity if it does a lot of expansive calculations, and the one with the worse time complexity does less expensive calculations. ... Though bogo sort is always bad.
at 5:40 I think you chose Bubble sort instead of Radix sort EDIT: What was I thinking? It just says Bubble sort at the top, but the algorithm itself is Radix sort. EDIT 2: As I continued to watch the video, I realised that that whole section is quite confusing.
Yeah sorry about that :/. The editing for this video was a bit gruelling and I forgot to change the names of the algorithms (although the algorithms themselves are the correct ones).
You seem to be having fun. What if you are sorting containers in a port. Now what matters is not really the number of swaps, but the total distance that the crane will have to travel because that crane is really slow. Is that going to impact which algorithm wins? I think it's time for container sort Olympics 😅
Actually, many sorting algorithms have complex behaviors, being able to detect when a sub set is getting slow, when that happens the sorting strategy changes
1:49 it's upside-down because the Y axis is orientated downwards. 2D graphics are like this probably because computers handle ordered things from left-to-right and top to bottom, like text.
2:30 Actually, Bogo Sort's best case cenario is when the list is already sorted taking n-1 comparisons and could technically win and Merge Sort... 6th.
0:46 and, sorting algorithms are used ale the time! when you're on ebay, and you hit sort price low to high, it will use a sorting algorithm, and yeah, you get the point.
Radix is an odd one there. There is a way to make it super slow with complicated data, or super fast with very simple inputs. I would say quicksort is the champion of the comparison sorts.
The fact that bogosort is the fastest sorting algorithm in a quantum computer or an hpc system where all possibilities are tried by each computing unit at the same time 😎
i have a bit of thoughts on this video 1. those single letter variables.... 2. yes i love comb sort or shell sort... idk it's hard to tell them apart Ӡ. pretty sure radix sort screws up when sorting floating point numbers 4. that pixel font has no descenders... AHHHHH
Radix sort is good in these cases, where data is in a small range of numbers, because it’s complexity is o(n + k) where k is the number of bits, but it isn’t good for large ranges, so the test case isn’t fair
There is a talk by Andrey Alexandrescu, in which he briefly discusses it. Basically it's only faster for large arrays. The reasons are complicated, it's better to watch the original talk
Loved your video. Just tiny notes, Bucket sort is faster partly because it's a different class, The others presume your only operation is Comparisons. Bucket sort as you mentioned uses some element inspection which makes it leaps better, actually Counting sort might be the best here, since it'd sort the array in O(n) (not even that just plain 2n+c, I think), but in usual general cases where these are compared these two cannot be applied, which doesn't mean ofc that they aren't awesome, useful and shouldn't be mentioned. Second "like not supposed to be that good" is referring to asymptotic complexity which assumes the length of your inputs "approaches infinity". So sometimes bubble sort wins if you have like 3 elements. To make this fair and interesting you have to do probably millions of elements, otherwise the constants in those algorithms might trump the asymptotic complexity itself (which I guess depends if is relevant to you)
I'm also fan of merge sort and I even noticed at the begining of the video that you were using mergesort as example animation. You should try non-recursive version of it which is much faster, also you can make it even faster if you are using hybrid algorithm. You can first sort every for example 32 numbers using insert sort which is faster for smaller data (I didn't test if 32 is optimal it's just example) and then from that moment you can start merge sort. also it should be better to test it in compiled language like C, C++ or Rust because python has hudge overhead (it is possible for python algorithm to work even 40 or more times slower!) and this overhead can potentially be different for different algorithms.
You are comparing algorithms that work for any data (that is, general ones) with those that only work for specific types of data. The first ones only use the "
as a software engineer, it bugs me a bit that you didn't specify that the ranking of the algorithms are specifically for the amount of values you had, because of the O() notation, that is useful for large values of n and better algorithms like quicksort and merge sort are generally weaker when there's no a lot of data, but dominates for larger amounts, which would explain why comb-sort came before merge sort and quick sort in your test.
5:40 Radix sort is bucket sort and bucket sort is bubble sort
Yeah that bugged me too.
I was about to comment that 😂
Why would you phrase it like that?
As soon as I saw bogo sort I was now way it’d hitting the 1 in 100 factorial chance lol
There is a parallel universe where bogo sort won.
stalin sort going ham
@@dumbkian (Un)fortunately, there is no parallel universe where stalin sort won.
Quantum bogosort moment
if there are infinite parallel universes, there is a universe where bogo sort always works and nobody knows why
Always bet on bogosort
Next, make them *arm wrestle*…. Two sorting algorithms, one list; one trying to sort the list ascending, the other descending.
THAT IS SUCH A FUN IDEA!
“Innnn the right corner, built by a team at Google DeepMind, the challenger with four straight victories in a row including two by technical deadlock. This brainy bot will put you Out Of Order, iiiiit’s AlphaSoooooooort!”
I need this in my life djshisbd
Somewhat hard with some algorithms, like merge sort it is recursive, maybe each call revert it hm
That would b really funny with bogosort
So you technically sorted the sorting algorithms
That's wild🤣🤣
Exactly my reaction when seeing this video😂
“And I used Quick sort to sort all of these sorting algorithms.
Should have implemented some of them with threads, as mergesort and quicksort are easy to parallelize and get much faster. For Quicksort, you don't even need synchronization.
Didn't know that. So thank you for the info :)
at 100 elements using threads will probably be slower. Also this is in python where there are no threads :)
@@Julianiolo yes that's true, but this is in general a measurement bias in this tournament. First we need longer numbers, as radix sort is O(n*m) with m being the number of digit's, while for other algorithms the number lengths is irrelevant. Also we need more numbers to gain actual data and we need them tested multiple times to get valuable data.
@@Julianiolo also there are python threads, but they indeed have a problem that they are often not executed in parallel but instead are reduced to linear code execution
@@morl1273 "threads" in python only help when dealing with i/o and similar, since they cant use multiple cores. Multiprocessing is kind of the equivalent for python, but that has other issues.
There should be separate categories for algorithms that need extra memory, and ones that dont.
I know, but I didn't want to make the video more complicated
@@Green-Code And also which sort is stable and which is not. And which sorts have O(N) behaviour if the data is mostly sorted
The reason .sort() is faster than the other ones is because it was programmed in C, while the ones you made are in python.
Yeah I'm aware :). It's just kinda of frustrating that after learning about sorting algorithms in Python, there's just a function that does it like waaaay better than anything you could do in Python :)
@@Green-Code You could always do it in c++, but then you'd have to rename yourself Red-Code
Love content like this.... But I have one critique that was not mentioned in the video afaik.
There's no "one size fits all" sorting algorithm, though some algorithms certainly are better than others in the majority of cases. Parameters like the size of the list, the type of data in the list and how the data in the list is ordered can make a major difference for example, as I'm relatively sure the wikipedia page on sorting algorithms points out.
A truly fair competion as I see it would have categories. In one axis short, medium and long distance (aka n. I'd say n=1.000, n=100.000 and n=10.000.000), in another axis swimming, running and cycling (objects, strings and integers) and in the final axis a suny day, a windy day and a stormy day (almost sorted, fully random and p much reverse order).
That being said, keep up the good work. ( ^ v^)b
Ps: poor bogosort being called the worst when bogobogosort exists :P
EDIT: meant to send as original post not reply xD oh well too late
@@Green-Code It also uses timsort or powersort which are slightly better versions of mergesort!
@@Den_drummer Don't forget quantumbogosort.
Randomise the list.
In at least one universe (as per many worlds interpretation) the list is now sorted.
If it is not sorted, destroy the universe you are in.
You are now left in a universe where it is sorted (as per quantum immortality).
Awesome video! I think a potential factor in why the tournament results were a bit off comes from how the n value was changed from bracket to bracket. Because of the different time complexities, some sorting algorithms might work faster with smaller values and so they might start floundering as the list size increases.
Very interesting. Thanks for your work. Looking forward to the next one.
You should make different categories with different amounts of elements, for example 10, 100, 1k, 10k, 100k, ... and see how for example insertion sort dominates everything for the lowest category (if it is few enough elements), then quicksort dominates everything in the middle and then the big O complexity of radix sort enables it to outrun everyone else.
Also, it would be in the spirit of Olympics because there are different sports (= different categories)
Nice video though, you deserve way more subscribers!
Oh and maybe in the future, you could host some competition where people send their algorithms and you let them run and compare them, similar to what Sebastian Lague did with chessbots last summer. That way you would have plenty of algorithms and it could be a really interesting content that I have never seen before on UA-cam.
@@redder358imagining the winner would be some maniac who wrote both a compression and decompression algorithm and packaged holygrailsort into 2KB
in a perfect universe Bogosort wins everytime
The coolest part of this idea is that the people in this universe would have no idea why it’s always correct, it’d be a mystery.
I didn't knew this channel existed. That is a really good work. I presented it to beginners and they absolutely love it as I do. Directly subscribed. You need a really good job on this!
Me: can we have code bullet? Mom: we have code bullet at home. Code bullet at home:
Great Video though
I was gonna say. Kinda like code bullet without the depression.
But still..
This guy is SICK.
All this guy needs to do is upload more than once every 6 months and he has Code Bullet beat
You should host a Nerd Olympics. I had never been more excited to watch sorting algorithms in my life! Good video.
I agree 100%
I like watching random sorting algorithms, but it’s nice having someone talk about them while I watch
I really like your character, and AAAAH YEAH MERGE SORT LOOKS COOL
Why we have all of these to begin with:
- some algorithms are what we call "stable". this means that the order of elements that have the same value for the property we are sorting on does not change
- some algorithms work in-place, whereas others need to make a copy of the list. Algorithms that are not in-place use more memory and sometimes don't utilize CPU cache well.
- the speed of an algorithms sometimes depends on what list you are sorting.
Quicksort has a best-case time complexity of O(n log n). but it can perform as bad as O(n^2), if the list is organized such that the chosen pivot is a minimum or a maximum of the current slice. Merge sort on the other hand, has a time complexity of O(n log n) no matter what.
- Finally, radix sort is a bit different from the rest. It performs O(nk), where k is the average number of digits a number has in the list. But the trouble is that radix sort is unwieldy to implement when you want to sort data that isn't plain integers or strings. also, if your list is small and your number of digits high, radix sort can be as bad as bubble sort.
As someone who just started learning Python (transitioning from MATLAB) it was super neat to see the syntax for the different scripts. Thanks!
Specifically, the more common radixsort is LSD radixsort, but MSD radixsort is somewhat common too. Least significant digit is what was used in the video, a unique effect is those last three iterations with the stair-looking things.
This deserves more views. As a programmer, this is pretty investing and cool
5:50 got me so confused, you speak about radixsort while showing bubble sort and bucket sort 😅
Exactly 💯
According to what I saw, he only forgot to rename the algorithms. Left is radixsort and right is bubble sort
6:32 problem is that by selecting a bad pivot, quick sort could end up with O(n^2) time, so on average it would win but it could also lose, meanwhile the other algorithm is consistent.
Bogosort is one of the fastest sorting algorithms if the shuffle is right first try.
1:32 well it may seem fast but technically a human can sort in O(n) time only having to look at numbers once, the main problem is how long the O part is.
so cool to see the pivot visually move as quicksort shoves everything above/below it
This was a such a blast to watch :D
I just wanna point out a few things:
* Merge Sort is the best algorithm here. It is a comparison based algorithm, so it works for all values that can be compared including strings. It is actually faster than Quick sort. It runs in n log2 n in the WORST case, which is very fast. Quick sort runs in n loge n on average but slows down to n^2 in the WORST case.
* Count sort is one of the fastest sorting algorithms out there, but it's not comparison based. It runs in n time in the worst case, which means that it will take about as much time as it takes to look at the entire input data.
* Lastly, each algorithm exists for a specific purpose. Sometimes, you can use Count sort, but mostly you can't. It's not as simple as which is the fastest. Merge sort is, in my opinion, the best.
PS: Radix sort and Postman sort are an extension of Count sort.
While this is small enough that they probably won't bother you, I did want to let you know that the Olympics is a trademarked or copyrighted thing and they _do_ go after some creators. The one I'm thinking of is a really big one, the MarbleLympics (now Marble League). Not a criticism or saying you should change anything. Just thought I'd shoot you an fyi
Every sorting algorithm has it's advantages and disadvantages, so it depends on the situation. If you have always a lot to sort, then one algorithm may be better, while if you have small amounts of data to sort, then another one may be better, etc. Also, even if algorithms have the same time complexity, they may differ with how good the best case is, etc. Also, just because one algorithm has a better time complexity, it may be worse than one with a worse time complexity if it does a lot of expansive calculations, and the one with the worse time complexity does less expensive calculations.
... Though bogo sort is always bad.
at 5:40 I think you chose Bubble sort instead of Radix sort
EDIT: What was I thinking? It just says Bubble sort at the top, but the algorithm itself is Radix sort.
EDIT 2: As I continued to watch the video, I realised that that whole section is quite confusing.
I went through this exact process
Yeah sorry about that :/. The editing for this video was a bit gruelling and I forgot to change the names of the algorithms (although the algorithms themselves are the correct ones).
Bro fire video too too good loved it man the visualizing idea and the meme olympics way too good, love you brother
You seem to be having fun. What if you are sorting containers in a port. Now what matters is not really the number of swaps, but the total distance that the crane will have to travel because that crane is really slow. Is that going to impact which algorithm wins? I think it's time for container sort Olympics 😅
Since my 3rd year in Computer Science, Merge Sort become my favorite sort algorithm
It is also important for the move ordering in the minimax with AB pruning
Bogo can, potentially, be the fasted one. It could happen that it just needs a single iteration.
Actually, many sorting algorithms have complex behaviors, being able to detect when a sub set is getting slow, when that happens the sorting strategy changes
Bogo sort has the potential to sort an array in linear time but it has one in billion chance of doing it.
1:49 it's upside-down because the Y axis is orientated downwards. 2D graphics are like this probably because computers handle ordered things from left-to-right and top to bottom, like text.
Quick sort and Merge sort are the GOATs
2:30 Actually, Bogo Sort's best case cenario is when the list is already sorted taking n-1 comparisons and could technically win and Merge Sort... 6th.
0:46 and, sorting algorithms are used ale the time! when you're on ebay, and you hit sort price low to high, it will use a sorting algorithm, and yeah, you get the point.
Add parallelism to merge sort for large amounts of elements.. and it rips everything else ☠️
Now you pushed me in the dillema that what algo does the sort function use to be fastest of all other algos
Radix is an odd one there. There is a way to make it super slow with complicated data, or super fast with very simple inputs. I would say quicksort is the champion of the comparison sorts.
Bogosort just needs a little bit of luck just like me needing it to beat Steph Curry in a 3 point contest.
The fact that bogosort is the fastest sorting algorithm in a quantum computer or an hpc system where all possibilities are tried by each computing unit at the same time 😎
actually the shakersort is one of the fastest sorting algorithms when it comes to a bigger dataset
.sort() in python, it uses "tim-sort" and it contains a mix between merge sort and insertion sort.
I didn't understand a word you said, but I was greatly intrigued.
Wow I actually was using a shitty sorting algorithm when I was scripting and ordering an array that had distances, I learned something...
Get this man a million subscribers
this is unfair
you should test different case,
and radix sort is just fast,but cannot use in real case.
should've made em race in different categories like: small arrays, almost sorted arrays, extremely large arrays n so on
i have a bit of thoughts on this video
1. those single letter variables....
2. yes i love comb sort or shell sort... idk it's hard to tell them apart
Ӡ. pretty sure radix sort screws up when sorting floating point numbers
4. that pixel font has no descenders... AHHHHH
Bro gon ace every job interview
Some algorithms work quicker in large data, some work faster with less data.
you are a crazy guy how tf do you have patience to do all of it ?
you should inplement sleep sort, with multi threading as it is fastest with small datasets, also at 5:49, it reads bucket sort, when its radix sort
5:40 its supposed to be radix vs bucket. but eh who cares, good vid my dude!
Radix sort is good in these cases, where data is in a small range of numbers, because it’s complexity is o(n + k) where k is the number of bits, but it isn’t good for large ranges, so the test case isn’t fair
yo the radix sort vs bucket sort part had the names from the previous round, make sure to watch your video before uploading
4:45 I wonder how insertion sort would do if binary search were implemented. But probabbly to that much better
There is a talk by Andrey Alexandrescu, in which he briefly discusses it. Basically it's only faster for large arrays. The reasons are complicated, it's better to watch the original talk
the only reason comb sort didn't make it to quarterfinals is because its opponent was radix sort
You should add Counting Sort. It only works for positive integers (can easily be modified for negatives) though.
Remember, bogosort has an 1/100! chance to instantly win
You really put your Channel Description in binary😂 I respect that.
Loved your video. Just tiny notes,
Bucket sort is faster partly because it's a different class, The others presume your only operation is Comparisons. Bucket sort as you mentioned uses some element inspection which makes it leaps better, actually Counting sort might be the best here, since it'd sort the array in O(n) (not even that just plain 2n+c, I think), but in usual general cases where these are compared these two cannot be applied, which doesn't mean ofc that they aren't awesome, useful and shouldn't be mentioned.
Second "like not supposed to be that good" is referring to asymptotic complexity which assumes the length of your inputs "approaches infinity". So sometimes bubble sort wins if you have like 3 elements. To make this fair and interesting you have to do probably millions of elements, otherwise the constants in those algorithms might trump the asymptotic complexity itself (which I guess depends if is relevant to you)
Radix was my fav and i'm happy with the result
Next, try different data distributions, algorithms performance differ with it.
I'm also fan of merge sort and I even noticed at the begining of the video that you were using mergesort as example animation.
You should try non-recursive version of it which is much faster, also you can make it even faster if you are using hybrid algorithm. You can first sort every for example 32 numbers using insert sort which is faster for smaller data (I didn't test if 32 is optimal it's just example) and then from that moment you can start merge sort.
also it should be better to test it in compiled language like C, C++ or Rust because python has hudge overhead (it is possible for python algorithm to work even 40 or more times slower!) and this overhead can potentially be different for different algorithms.
5:07 was kinda best, I guess
You're a Fan of Code Bullet I see...
Good taste.
I now discover that there is something worse than bubble sort.
Merge sort is the guy of those who don't understand quick sort. (me also)
Please I want to see a battle of the sorting algorithms against 'cosmic ray sort'. From the start to the finish. Real time, no speed up.
Some of those poses look quite similar to Code bullet 😉
I did something like this for my 7th grade research project.
those sounds are giving me anxiety
This video explains in full detail why I am single
from one mergesort enjoyer to another 🤝
where were you when i was getting cooked in DATA STRUCTURES & ALGORITHMS
I can use sorting algorythms to do my 6th grade math homework yay
Could you tell me what python module you use for the graphics?
Bro forgot sleep sort 💔🙂
you haven't tried Wikisort or Grailsort? they are modifications of mergesort that are supposed to be fast, stable, and need no memory.
They're also awfully complicated to implement.
.sort() uses Tim Sort Algorithm hybrid of Merge and Insertion Sort
Makes me want to write my own test, but in C. I figure I could either visualize it with colored terminal output, or alternatively use RayLib.
gg man love the video
You are comparing algorithms that work for any data (that is, general ones) with those that only work for specific types of data. The first ones only use the "
Loved this video !!!!!!!!!!!
5:46 it says bucket sort over radix sort and bubble sort over bucket sort
3:45 really cool name😂
meet ... the... merged quick sort
def partition(arr, low, high):
pivot = arr[high]
i = low - 1
for j in range(low, high):
if arr[j]
So this guy is bullet code with a different accent
Bogobogosort has this in the bag 💥
codebullet but faster uploads, subscribed :3
They're multiplying
now make the sorting algos sort sorting algos
as a software engineer, it bugs me a bit that you didn't specify that the ranking of the algorithms are specifically for the amount of values you had, because of the O() notation, that is useful for large values of n and better algorithms like quicksort and merge sort are generally weaker when there's no a lot of data, but dominates for larger amounts, which would explain why comb-sort came before merge sort and quick sort in your test.
Would be interesting how sort() works tho
Bogo Sort? More like _BOGUS SORT!_
i spent 8 days trying to make this shit work and it wont im lossing my fucking mind