diff options
-rw-r--r-- | README.md | 30 |
1 files changed, 22 insertions, 8 deletions
@@ -1,12 +1,13 @@ # Sorting algorithms -Gettting the hang out of 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/. ## Algorithms -Each of the implemented sorting algorithms resides in a separate Python module. +Each of the implemented sorting algorithms resides in a separate Python module +(in the `algorithms.impl` package). Currently the following algorithms are implemented: * bubble sort (`bubble_sort.py`), @@ -34,6 +35,10 @@ middle, the last or a random element of the sequence. [1, 2, 3, 4, 5] [1, 2, 3, 4, 5] +You can use the generic script `test.py` to quickly generate an input list of +some kind and display the result of executing an algorithm on this input. +Consult the output of `test.py -h` to learn how to use the script. + ## Plots The goals of this "project" include a) familiarizing myself with a few sorting @@ -51,12 +56,12 @@ plots to the `plots/` directory. Both the hardware & the software that were used to produce the plots are listed below. - | | --------------- | ------------------------------------------------------- | -**CPU** | [Intel Atom N2800](http://ark.intel.com/products/58917) | -**OS** | Windows 7 Professional Service Pack 1 | -**Python** | 3.4.1 | -**matplotlib** | 1.4.0 | + | | +-------------- | ---------------------------------------------------------------------------------------------------------- | +**CPU** | [Intel Core i3-5005U](http://ark.intel.com/products/84695/Intel-Core-i3-5005U-Processor-3M-Cache-2_00-GHz) | +**OS** | Windows 8.1 | +**Python** | 3.5.1 | +**matplotlib** | 1.5.1 | Each of the implemented algorithms was provided with three input sequences: * a list of *n* consecutive numbers sorted in ascending order ("sorted" input), @@ -66,6 +71,15 @@ Each of the implemented algorithms was provided with three input sequences: You can generate the plots using `plot.py`. Consult the output of `plot.py -h` to learn how to use the script. +If you're having problems using the script (like having excessive noise in the +measurement results), try minimizing background activity of the OS and the +applications. +For example, on Windows 8.1 I managed to produce some very nice plots by +booting into Safe Mode and running the scripts with a higher priority while +also setting their CPU affinity: + + start /affinity 1 /realtime calc_mean.py + ## Licensing This project, including all of the files and their contents, is licensed under |