aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--README.md30
1 files changed, 22 insertions, 8 deletions
diff --git a/README.md b/README.md
index 001ffe9..406e6c1 100644
--- a/README.md
+++ b/README.md
@@ -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