https://github.com/lilithhafner/quickersort.jl
https://github.com/lilithhafner/quickersort.jl
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/lilithhafner/quickersort.jl
- Owner: LilithHafner
- License: mit
- Created: 2024-05-30T22:35:07.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-18T12:35:45.000Z (12 months ago)
- Last Synced: 2025-01-21T04:41:48.489Z (4 months ago)
- Language: TeX
- Size: 1.05 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# QuickerSort
[](https://github.com/LilithHafner/QuickerSort.jl/actions/workflows/CI.yml?query=branch%3Amain)
This is a demonstration package to highlight the partitioning scheme I developed for use in Julia's default non-radixable sorting algorithm.
The most effective way to utilize the fruits of this research in deployment is to use the Julia default sorting algorithms. However, for academics or developers seeking to understand, test, and further improve these algorithms, this is a package worth looking at.
## Usage example
```julia
using Pkg
Pkg.add(url="https://github.com/LilithHafner/QuickerSort.jl")
using QuickerSort
data = rand(1000)
QuickerSort.hafner_quicksort!(data)
@assert issorted(data)
QuickerSort.reproduce_figures() # reproduce figures from the paper
readdir(".") # The figures should be listed here
```## How to use this repository
The paper and associated information lives in the `paper` directory. The reference
implementations live in the `src` directory, with tests in the `test` directory. Folks
wishing to build upon, port, or copy this code should probably read `paper/paper/pdf`,
`src/simple_hafner.jl`, and `src/optimized_hafner.jl`.