https://github.com/chalarangelo/multisort
Stupidly inefficient hybrid sorting algorithm
https://github.com/chalarangelo/multisort
Last synced: 2 months ago
JSON representation
Stupidly inefficient hybrid sorting algorithm
- Host: GitHub
- URL: https://github.com/chalarangelo/multisort
- Owner: Chalarangelo
- License: mit
- Created: 2017-04-07T09:30:20.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2017-04-07T09:57:21.000Z (about 8 years ago)
- Last Synced: 2025-02-10T07:12:32.550Z (4 months ago)
- Language: Python
- Size: 23.4 KB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Multisort
stupidly inefficient hybrid sorting algorithm## Usage
Use `python3` to run `multisort.py`, providing it with a valid filename and a number for the random seed. Optionally, you can add a 1 at the end to show full output of the execution. Oh, and remember to pipeline your output to another file.
#### Example
```bash
python3 multisort.py numbers1.txt 42 1 >> numbers1sorted42full.txt
```## How it works
1. Reads a list of numbers from the file specified (space separated, can contain newlines and tabs).
2. Starts a `random` generator, using the provided seed.
3. While the list is not sorted (and yes, it compares it every step of the way with a sorted version of itself), it picks a sorting algorithm at random and uses some random values to sort part of the list (usually quite poorly).The following sorting algorithms are implemented:
- Bubble sort (one full pass of the list)
- Insertion sort (until a preset amount of swaps is executed)
- Merge sort (works on a subset of the list)
- Quick sort (random pivot, no recursion)
- Selection sort (single position on the list receives its final value)
- Bucket sort (random amount of buckets, no recursion)
- ~~Radix sort (based on least-significant digit)~~ *Not used due to low speed and problems caused in sorting*
- Patience sort (single iteration, reversed stacks)
- Gnome sort (works on a subset of the list)
- Odd-even sort (single step of the algorithm, specified at random if odd or even)
- Stooge sort (works on subset of the list)## License
MIT License, feel free to do whatever you want with this.