--- title: Plots layout: plots groups: - navbar navbar_link: <span class="glyphicon glyphicon-th-large"></span> Plots custom_css: plots.css plot_kinds: - sorted - randomized - reversed plots: - codename: bubble brief_name: Bubble sort display_name: Bubble sort min_length: 0 max_length: 200 repetitions: sorted: 1000 randomized: 100 reversed: 100 complexity: sorted: O(<var>n</var>) randomized: O(<var>n</var><sup>2</sup>) reversed: O(<var>n</var><sup>2</sup>) - codename: bubble_optimized brief_name: "… \"optimized\"" display_name: "\"Optimized\" bubble sort" min_length: 0 max_length: 200 repetitions: sorted: 1000 randomized: 100 reversed: 100 complexity: sorted: O(<var>n</var>) randomized: O(<var>n</var><sup>2</sup>) reversed: O(<var>n</var><sup>2</sup>) - codename: heap brief_name: Heapsort display_name: Heapsort min_length: 0 max_length: 200 repetitions: 100 complexity: O(<var>n</var> log <var>n</var>) - codename: insertion brief_name: Insertion sort display_name: Insertion sort min_length: 0 max_length: 200 repetitions: sorted: 1000 randomized: 100 reversed: 100 complexity: sorted: O(<var>n</var>) randomized: O(<var>n</var><sup>2</sup>) reversed: O(<var>n</var><sup>2</sup>) - codename: merge brief_name: Merge sort display_name: Merge sort min_length: 0 max_length: 200 repetitions: 100 complexity: O(<var>n</var> log <var>n</var>) - codename: quick_first brief_name: Quicksort (first element as pivot) display_name: Quicksort (first element as pivot) min_length: 0 max_length: 200 repetitions: 100 complexity: sorted: O(<var>n</var><sup>2</sup>) randomized: O(<var>n</var> log <var>n</var>) reversed: O(<var>n</var><sup>2</sup>) - codename: quick_second brief_name: "… second element…" display_name: Quicksort (second element as pivot) min_length: 0 max_length: 200 repetitions: 100 complexity: sorted: O(<var>n</var><sup>2</sup>) randomized: O(<var>n</var> log <var>n</var>) reversed: O(<var>n</var><sup>2</sup>) - codename: quick_middle brief_name: "… middle element…" display_name: Quicksort (middle element as pivot) min_length: 0 max_length: 200 repetitions: 100 complexity: O(<var>n</var> log <var>n</var>) - codename: quick_last brief_name: "… last element…" display_name: Quicksort (last element as pivot) min_length: 0 max_length: 200 repetitions: 100 complexity: sorted: O(<var>n</var><sup>2</sup>) randomized: O(<var>n</var> log <var>n</var>) reversed: O(<var>n</var><sup>2</sup>) - codename: quick_random brief_name: "… random element…" display_name: Quicksort (random element as pivot) min_length: 0 max_length: 200 repetitions: 100 complexity: O(<var>n</var> log <var>n</var>) - codename: selection brief_name: Selection sort display_name: Selection sort min_length: 0 max_length: 200 repetitions: 100 complexity: O(<var>n</var><sup>2</sup>) --- <h1>Plots</h1> <p>The platform under which the plots were produced was:</p> <table class="table table-bordered reasonable-width"> <tr> <th>CPU</th> <td><a href="http://ark.intel.com/products/58917">Intel Atom N2800</a></td> </tr> <tr> <th>OS</th> <td>Windows 7 Professional Service Pack 1</td> </tr> <tr> <th>Python</th> <td>3.4.1</td> </tr> <tr> <th>matplotlib</th> <td>1.4.0</td> </tr> </table> {% if page.plots and page.plots != empty %} <div class="row"> <div class="col-xs-12 col-sm-10 col-md-8"> <table class="table table-bordered table-hover"> <thead> <tr> <th class="text-center" rowspan="2">Algorithm</th> <th class="text-center" colspan="{{ page.plot_kinds.size }}">Complexity</th> </tr> <tr> {% for kind in page.plot_kinds %} <th class="text-center">{{ kind }}</th> {% endfor %} </tr> </thead> <tbody> {% for algorithm in page.plots %} <tr> <td><a href="#plots_{{ algorithm.codename }}">{{ algorithm.brief_name }}</a></td> {% for kind in page.plot_kinds %} <td>{% if algorithm.complexity[kind] %}{{ algorithm.complexity[kind] }}{% else %}{{ algorithm.complexity }}{% endif %}</td> {% endfor %} </tr> {% endfor %} </tbody> </table> </div> </div> {% for algorithm in page.plots %} <a id="plots_{{ algorithm.codename }}"></a> <h3>{{ algorithm.display_name }}</h3> <div class="row"> {% for kind in page.plot_kinds %} {% if algorithm.repetitions[kind] %} {% assign repetitions = algorithm.repetitions[kind] %} {% else %} {% assign repetitions = algorithm.repetitions %} {% endif %} {% capture stem %}{{ algorithm.codename }}_{{ repetitions }}_{{ kind }}_{{ algorithm.min_length }}_{{ algorithm.max_length }}{% endcapture %} <div class="col-xs-12 col-sm-6 col-md-4"> <div class="thumbnail"> <a class="thumbnail" href="{{ site.baseurl }}/img/plots/full_size/{{ stem }}.png"> <img class="img-responsive" src="{{ site.baseurl }}/img/plots/previews/{{ stem }}.jpg"/> </a> <div class="caption"> <strong>{{ algorithm.display_name }}</strong><br/> <strong>Input:</strong> {{ kind }}<br/> <strong>Complexity:</strong> {% if algorithm.complexity[kind] %}{{ algorithm.complexity[kind] }}{% else %}{{ algorithm.complexity }}{% endif %}<br/> </div> </div> </div> {% endfor %} </div> {% endfor %} {% else %} <h3>Sorry, there're no plots yet.</h3> <hr/> {% endif %}