Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yourbasic/radix
A fast string sorting algorithm (MSD radix sort)
https://github.com/yourbasic/radix
go golang radix-sort sorting-algorithms string-sorting
Last synced: 3 months ago
JSON representation
A fast string sorting algorithm (MSD radix sort)
- Host: GitHub
- URL: https://github.com/yourbasic/radix
- Owner: yourbasic
- License: bsd-2-clause
- Created: 2017-06-09T14:38:58.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-03-08T12:29:25.000Z (almost 7 years ago)
- Last Synced: 2024-07-31T20:53:13.816Z (6 months ago)
- Topics: go, golang, radix-sort, sorting-algorithms, string-sorting
- Language: Go
- Homepage:
- Size: 1.36 MB
- Stars: 192
- Watchers: 8
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - radix - Fast string sorting algorithm. (Text Processing / Utility/Miscellaneous)
- awesome-go - radix - A fast string sorting algorithm - ★ 56 (Text Processing)
- awesome-go-extra - radix - 06-09T14:38:58Z|2018-03-08T12:29:25Z| (Bot Building / Utility/Miscellaneous)
README
# Your basic radix sort [![GoDoc](https://godoc.org/github.com/yourbasic/radix?status.svg)][godoc-radix]
### A fast string sorting algorithm
This is an optimized sorting algorithm equivalent to `sort.Strings`
in the Go standard library. For string sorting, a carefully implemented
radix sort can be considerably faster than Quicksort, sometimes
**more than twice as fast**.### MSD radix sort
![Radix sort](res/radix.png)
A discussion of **MSD radix sort**, its implementation and a comparison
with other well-known sorting algorithms can be found in
[Implementing radixsort][implradix]. In summary, MSD radix sort
uses O(n) extra space and runs in O(n+B) worst-case time,
where n is the number of strings to be sorted and B
is the number of bytes that must be inspected to sort the strings.### Installation
Once you have [installed Go][golang-install], run the `go get` command
to install the `radix` package:go get github.com/yourbasic/radix
### Documentation
There is an online reference for the package at
[godoc.org/github.com/yourbasic/radix][godoc-radix].### Roadmap
* The API of this library is frozen.
* Version numbers adhere to [semantic versioning][sv].Stefan Nilsson – [korthaj](https://github.com/korthaj)
[godoc-radix]: https://godoc.org/github.com/yourbasic/radix
[golang-install]: http://golang.org/doc/install.html
[implradix]: https://www.nada.kth.se/~snilsson/publications/Radixsort-implementation/
[sv]: http://semver.org/