added sort_circle GIFs
This commit is contained in:
37
README.md
37
README.md
@@ -10,6 +10,7 @@ Table of contents
|
|||||||
* [Introduction](#introduction)
|
* [Introduction](#introduction)
|
||||||
* [Description](#description)
|
* [Description](#description)
|
||||||
* [Getting Started](#getting-started)
|
* [Getting Started](#getting-started)
|
||||||
|
* [Limitations](#limitations)
|
||||||
* [Possible Updates](#possible-updates)
|
* [Possible Updates](#possible-updates)
|
||||||
* [Sorting Algorithms](#sorting-algorithms)
|
* [Sorting Algorithms](#sorting-algorithms)
|
||||||
* [Bubble Sort](#bubble-sort)
|
* [Bubble Sort](#bubble-sort)
|
||||||
@@ -47,6 +48,12 @@ The four folders <strong>(sort_circle, sort_color, sort_combined, sort_scale)</s
|
|||||||
<li>Click the play button to run the script.</li>
|
<li>Click the play button to run the script.</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
|
## Limitations
|
||||||
|
These visualizations don't show the efficiency of the algorithms.<br>
|
||||||
|
They only visualize movement of the elements within the array.<br>
|
||||||
|
But the array access and comparison counters are indicators of the time complexity of the algorithms.<br>
|
||||||
|
For more information about the time complexity, you can take a look at the [Big O Table](#table-of-sorting-algorithms).<br>
|
||||||
|
|
||||||
## Possible Updates
|
## Possible Updates
|
||||||
|
|
||||||
Below I compiled a list of features that could be implemented in the future.
|
Below I compiled a list of features that could be implemented in the future.
|
||||||
@@ -66,7 +73,6 @@ Below I compiled a list of features that could be implemented in the future.
|
|||||||
|
|
||||||
<strong>Contributions to this project with either ideas from the list or your own are welcome.</strong>
|
<strong>Contributions to this project with either ideas from the list or your own are welcome.</strong>
|
||||||
|
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
Sorting Algorithms
|
Sorting Algorithms
|
||||||
@@ -90,11 +96,9 @@ Bubble sort is one of the most straightforward sorting algorithms, it makes mult
|
|||||||
In essence, each item “bubbles” up to the location where it belongs.
|
In essence, each item “bubbles” up to the location where it belongs.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
| <a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_scale/bubble_sort_scale.py" target="_blank">bubble_sort_scale.py</a>|<a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_color/bubble_sort_color.py" target="_blank">bubble_sort_color.py</a>|
|
| <a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_scale/bubble_sort_scale.py" target="_blank">bubble_sort_scale.py</a>|<a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_color/bubble_sort_color.py" target="_blank">bubble_sort_color.py</a>|<a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_circle/bubble_sort_color.py" target="_blank">bubble_sort_circle.py</a>|
|
||||||
| ------------- |-------------|
|
| ------------- |-------------|------------|
|
||||||
|||
|
||||
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Insertion Sort
|
## Insertion Sort
|
||||||
|
|
||||||
@@ -121,9 +125,12 @@ The algorithm maintains two subarrays in a given array.
|
|||||||
</ul>
|
</ul>
|
||||||
<p>In every iteration of selection sort, the minimum element (considering ascending order) from the unsorted subarray is picked and moved to the sorted subarray.</p>
|
<p>In every iteration of selection sort, the minimum element (considering ascending order) from the unsorted subarray is picked and moved to the sorted subarray.</p>
|
||||||
|
|
||||||
|<a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_scale/selection_sort_scale.py" target="_blank">selection_sort_scale.py</a>|<a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_color/selection_sort_color.py" target="_blank">selection_sort_color.py</a>|
|
|<a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_scale/selection_sort_scale.py" target="_blank">selection_sort_scale.py</a>|<a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_color/selection_sort_color.py" target="_blank">selection_sort_color.py</a>|<a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_circle/selection_sort_circle.py" target="_blank">selection_sort_circle.py</a>|
|
||||||
| ------------- |:-------------:|
|
| ------------- |:-------------:|-------|
|
||||||
|||
|
||||
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Heap Sort
|
## Heap Sort
|
||||||
|
|
||||||
@@ -168,9 +175,9 @@ The sub-lists are divided again and again into halves until the list cannot be d
|
|||||||
Then we combine the pair of one element lists into two-element lists, sorting them in the process.<br>
|
Then we combine the pair of one element lists into two-element lists, sorting them in the process.<br>
|
||||||
The sorted two-element pairs is merged into the four-element lists, and so on until we get the sorted list.
|
The sorted two-element pairs is merged into the four-element lists, and so on until we get the sorted list.
|
||||||
|
|
||||||
| <a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_scale/merge_sort_scale.py" target="_blank">merge_sort_scale.py</a>|<a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_color/merge_sort_color.py" target="_blank">merge_sort_color.py</a>|
|
| <a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_scale/merge_sort_scale.py" target="_blank">merge_sort_scale.py</a>|<a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_color/merge_sort_color.py" target="_blank">merge_sort_color.py</a>|<a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_circle/merge_sort_circle.py" target="_blank">merge_sort_circle.py</a>|
|
||||||
| ------------- |:-------------:|
|
| ------------- |:-------------:|------------|
|
||||||
|||
|
||||
|
||||||
|
|
||||||
## Quick Sort
|
## Quick Sort
|
||||||
|
|
||||||
@@ -186,9 +193,9 @@ Like Merge Sort, Quick Sort is a Divide and Conquer algorithm. It picks an eleme
|
|||||||
The key process in quickSort is <strong>partition()</strong>. Target of partitions is, given an array and an element x of array as pivot, put x at its correct position in sorted array and put all smaller elements (smaller than x) before x, and put all greater elements (greater than x) after x.<br>
|
The key process in quickSort is <strong>partition()</strong>. Target of partitions is, given an array and an element x of array as pivot, put x at its correct position in sorted array and put all smaller elements (smaller than x) before x, and put all greater elements (greater than x) after x.<br>
|
||||||
All this should be done in linear time.
|
All this should be done in linear time.
|
||||||
|
|
||||||
| <a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_scale/quick_sort_scale.py" target="_blank">quick_sort_scale.py</a>|<a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_color/quick_sort_color.py" target="_blank">quick_sort_color.py</a>|
|
| <a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_scale/quick_sort_scale.py" target="_blank">quick_sort_scale.py</a>|<a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_color/quick_sort_color.py" target="_blank">quick_sort_color.py</a>|<a href="https://github.com/ForeignGods/Sorting-Algorithms-Blender/blob/main/sort_circle/quick_sort_circle.py" target="_blank">quick_sort_circle.py</a>|
|
||||||
| ------------- |:-------------:|
|
| ------------- |:-------------:|--------|
|
||||||
|||
|
||||
|
||||||
|
|
||||||
Big O
|
Big O
|
||||||
=====
|
=====
|
||||||
|
|||||||
Reference in New Issue
Block a user