From c0923664214655a439d0d9df41a52b8936d3b43d Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Sat, 6 Jun 2026 22:22:01 +0200 Subject: move Jekyll source files to src/ --- index.html | 228 ------------------------------------------------------------- 1 file changed, 228 deletions(-) delete mode 100644 index.html (limited to 'index.html') diff --git a/index.html b/index.html deleted file mode 100644 index 20c8386..0000000 --- a/index.html +++ /dev/null @@ -1,228 +0,0 @@ ---- -title: Main page -layout: plain -navbar: - link: Project -links: - - {rel: stylesheet, href: assets/css/plots.css} -input_kind: - - best - - average - - worst -plots: - - codename: bubble_sort - brief_name: Bubble sort - display_name: Bubble sort - min_length: 0 - max_length: 200 - iterations: 100 - complexity: - best: O(n) - average: O(n2) - worst: O(n2) - - codename: bubble_sort_optimized - brief_name: "… \"optimized\"" - display_name: "\"Optimized\" bubble sort" - min_length: 0 - max_length: 200 - iterations: 100 - complexity: - best: O(n) - average: O(n2) - worst: O(n2) - - codename: heapsort - brief_name: Heapsort - display_name: Heapsort - min_length: 0 - max_length: 200 - iterations: 100 - complexity: O(n log n) - - codename: insertion_sort - brief_name: Insertion sort - display_name: Insertion sort - min_length: 0 - max_length: 200 - iterations: 100 - complexity: - best: O(n) - average: O(n2) - worst: O(n2) - - codename: merge_sort - brief_name: Merge sort - display_name: Merge sort - min_length: 0 - max_length: 200 - iterations: 100 - complexity: O(n log n) - - codename: quicksort_first - brief_name: Quicksort (first element as pivot) - display_name: Quicksort (first element as pivot) - min_length: 0 - max_length: 200 - iterations: 100 - complexity: - best: O(n2) - average: O(n log n) - worst: O(n2) - - codename: quicksort_second - brief_name: "… second element…" - display_name: Quicksort (second element as pivot) - min_length: 0 - max_length: 200 - iterations: 100 - complexity: - best: O(n2) - average: O(n log n) - worst: O(n2) - - codename: quicksort_middle - brief_name: "… middle element…" - display_name: Quicksort (middle element as pivot) - min_length: 0 - max_length: 200 - iterations: 100 - complexity: O(n log n) - - codename: quicksort_last - brief_name: "… last element…" - display_name: Quicksort (last element as pivot) - min_length: 0 - max_length: 200 - iterations: 100 - complexity: - best: O(n2) - average: O(n log n) - worst: O(n2) - - codename: quicksort_random - brief_name: "… random element…" - display_name: Quicksort (random element as pivot) - min_length: 0 - max_length: 200 - iterations: 100 - complexity: O(n log n) - - codename: selection_sort - brief_name: Selection sort - display_name: Selection sort - min_length: 0 - max_length: 200 - iterations: 100 - complexity: O(n2) ---- -

{{ site.settings.project.name }}

- -
-
-

The goals of this "project" include a) familiarizing -myself with a few sorting algorithms by examining their (possibly, simplified) -implementations and b) studying the way algorithm's running time changes in -relation to the length of its input (a.k.a. identifying its time -complexity).

-

A simple way to visualize the way algorithm's running -time changes is to make appropriate measurements and plot them on a nice graph. -The results of course are highly dependent on the hardware used, while the -graph's look depends on the software used for rendering.

-

Both the hardware & the software that were used -to produce the plots are listed below.

- - - - - - - - - - - - - - - - - -
CPUAMD Ryzen 7 5700X
OSLinux 6.12
CPython3.14.2
matplotlib3.10.8
-
-
- -{% if page.plots and page.plots != empty %} -
-
-

The table & plots below are just an attempt to nicely lay out the -data generated using the code from the project repository's master -branch. -Visit {{ site.github.repository_url }} for more details.

- -

Each of the implemented algorithms was provided with three input -sequences:

-
    -
  • a list of n consecutive numbers sorted in ascending order,
  • -
  • … in descending order,
  • -
  • … in random order.
  • -
-

Use the table below to quickly navigate to the plots for the -corresponding algorithm.

- - - - - - - - - {% for input_kind in page.input_kind %} - - {% endfor %} - - - -{% for algorithm in page.plots %} - - - {% for input_kind in page.input_kind %} - {% if algorithm.complexity[input_kind] %} - {% assign complexity = algorithm.complexity[input_kind] %} - {% else %} - {% assign complexity = algorithm.complexity %} - {% endif %} - - {% endfor %} - -{% endfor %} - -
AlgorithmComplexity
{{ input_kind | capitalize }}
{{ algorithm.brief_name }}{{ complexity }}
-
-
- -{% for algorithm in page.plots %} - -

{{ algorithm.display_name }}

-
- {% for input_kind in page.input_kind %} - {% if algorithm.iterations[input_kind] %} - {% assign iterations = algorithm.iterations[input_kind] %} - {% else %} - {% assign iterations = algorithm.iterations %} - {% endif %} - {% if algorithm.complexity[input_kind] %} - {% assign complexity = algorithm.complexity[input_kind] %} - {% else %} - {% assign complexity = algorithm.complexity %} - {% endif %} - {% capture stem %}{{ algorithm.codename }}_{{ iterations }}_{{ input_kind }}_{{ algorithm.min_length }}_{{ algorithm.max_length }}{% endcapture %} -
-
- - {{ algorithm.display_name | escape }}, {{ iterations }} iterations, {{ input_kind }} case - -
- {{ algorithm.display_name }}
- {{ input_kind | capitalize }} case, {{ complexity }} -
-
-
- {% endfor %} -
-{% endfor %} - -{% else %} -

Sorry, no plots have been added yet.

-
-{% endif %} -- cgit v1.3