From d6de118675a192ce6e01574eb4eb2541db7aca7a Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Wed, 6 May 2015 06:14:54 +0300 Subject: initial commit --- README.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..f765c8f --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +# Sorting algorithms + +Gettting the hang out of sorting algorithms. +Hosted on [GitHub Pages](https://pages.github.com) at +https://egor-tensin.github.io/sorting_algorithms/. + +## Algorithm implementations + +Sorting algorithms are implemented in separate Python scripts. +You can test each of the implemented algorithms by passing a sequence of +integer numbers to the corresponding script. + +Currently the following sorting algorithms are implemented: +* bubble sort (`bubble_sort.py`), +* heapsort (`heapsort.py`), +* insertion sort (`insertion_sort.py`), +* merge sort (`merge_sort.py`), +* selection sort (`selection_sort.py`), +* quicksort (`quicksort.py`). + +Some scripts actually implement more than one version of a sorting algorithm. +For example, a quicksort is implemented in multiple versions depending on the +choice of the pivot element. + +## Plots + +Running time of the implemented sorting algorithms is measured and plotted. +The plots are stored in the `plots/` directory. + +Each algorithm is provided with three lists: +* a list of sorted numbers, +* a reversed list of sorted numbers, +* and a list of numbers in random order. + +## Usage + +### Prerequisites + +To use this software, you need to be able to run Python 3 scripts. + +To plot a sorting algorithm, use `plot.py` (on Windows, you can also use +`plot.bat`, which simply calls `plot.py` three times, providing the sorting +algorithm with sorted, reversed, and randomized inputs). + +## Licensing + +This project, including all of the files and their contents, is licensed under +the terms of the MIT License. +See LICENSE.txt for details. -- cgit v1.2.3