Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/federicostra/sorting
Comparison of various sorting algorithms
https://github.com/federicostra/sorting
benchmarks comparison comparison-benchmarks comparison-sorting-algorithms sorting sorting-algorithms
Last synced: about 2 months ago
JSON representation
Comparison of various sorting algorithms
- Host: GitHub
- URL: https://github.com/federicostra/sorting
- Owner: FedericoStra
- License: gpl-3.0
- Created: 2012-11-28T14:41:52.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2022-11-10T16:24:26.000Z (about 2 years ago)
- Last Synced: 2023-04-03T21:45:50.676Z (almost 2 years ago)
- Topics: benchmarks, comparison, comparison-benchmarks, comparison-sorting-algorithms, sorting, sorting-algorithms
- Language: C
- Homepage: https://federicostra.github.io/Sorting
- Size: 55.7 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.markdown
- License: COPYING
Awesome Lists containing this project
README
Sorting
=======Comparison of various sorting algorithms.
What is it?
-----------`sorting` is a simple modular program that debugs various sorting algorithms in order to spot advantages and drawbacks of each one. It consists of a main program, `sorting.c`, which executes the various algorithms while keeping track of many operations and resource usage.
It currently displays:
* time,
* comparisons,
* swappings,
* writes,
* recursion depth,
* space,
* memory allocations.The algorithms implemented are divided in two groups depending on their performances:
* fast:
* comb\_sort,
* heap\_sort,
* merge\_sort,
* quick\_sort,
* quick\_fast\_sort,
* shell\_sort,
* ciura\_shell\_sort;
* slow:
* bubble\_sort,
* cocktail\_sort,
* gnome\_sort,
* insertion\_sort,
* selection\_sort.`sorting` performs sorting on different types of arrays in order to emphasize different characteristics of the algorithms (such as adaptiveness).
It currently sorts arrays of *length - type*:
* 5000 - decreasing,
* 15000 - decreasing,
* 25000 - decreasing,
* 5000 - almost sorted,
* 15000 - almost sorted,
* 25000 - almost sorted,
* 5000 - random,
* 25000 - random,
* 50000 - random,
* 100000 - random,
* 300000 - random,
* 500000 - random.