RiedleroD/BASAV

Add Algorithms

RiedleroD opened this issue · 2 comments

Now the really really bad ones. These actually exist. Mostly for fun, so these are mostly simple.

  • Stooge Sort
  • Bad Sort
  • Silly Sort
  • Slow Sort
  • Gnome Sort
  • Bogo Sort
    • Randomness option
  • Demon Sort
    • Rollout Motion
    • Rollin Motion
    • Randswap Motion
    • Inwards checking
    • Outwards checking
    • Concurrent mode
  • DropSort
    this one actually is not a valid sorting algorithm; but there is one slightly different version that's usable at the bottom of the site.

Now the ones that will like never be implemented for various reasons

  • Gravity/Bead Sort
    this one changes the values of items, which is impossible using my API. I suggest reading the wikipedia article on it, as it's very interesting.
  • Pigeonhole Sort
    this one just creates a bucket for every number in the range and the puts the items in there accordingly and then puts them back in the original bucket – not generally that bad, but very much so in this program, as it's not designed to handle more than 20 buckets. It already struggles with 10. Technically its possible to implement, but I don't want to crash peoples PCs.
    I could possibly implement a In-Place version, but that'd look like magic 😅

Hello! I was browsing GitHub, and came across this issue after curiously searching up "Grailsort".

I'm the manager of an open source project dedicated to researching, rewriting, and optimizing Grailsort. Our work is featured in our repo right over here: https://github.com/MusicTheorist/Rewritten-Grailsort

We actually have two Python implementations of Grailsort being worked on right now. Let us know if you have any questions!

Thanks for contacting me!

I will try to translate the one by @thatsOven into a version that works with BASAV - ofc I will include the license and links to the original repo and its contributors. I have found a few places where there is extra attention needed - for example, there is a section that copies items without swaps or insertions, which is not supported by BASAV, but I'm sure I can sort that out.

I also see that the implementation isn't complete yet, so if I can, I will help finalize that.