From e53f5f909dd3c4b1ca5cc960d6533e010efa877c Mon Sep 17 00:00:00 2001 From: Amjad Ali Date: Fri, 22 Jun 2018 06:54:40 -0500 Subject: [PATCH] Added Complexity of Each Algorithm in Sorting/ directory. (#76) * Added Complexity to Bubble Sort README.md * Added Complexity to Counting-Sort README.md * Italicized n in Bubble Sort README.md * Added Complexity to Heap Sort README.md * Added Complexity to Insertion Sort README.md * Added Complexity to Merge Sort README.md * Added Complexity to Quick Sort README.md * Added Complexity to Radix Sort README.md * Added Complexity to Selection Sort README.md * Added Complexity to SHell Sort README.md --- src/algorithms/sorting/bubble-sort/README.md | 7 +++++++ src/algorithms/sorting/counting-sort/README.md | 6 ++++++ src/algorithms/sorting/heap-sort/README.md | 6 ++++++ src/algorithms/sorting/insertion-sort/README.md | 7 +++++++ src/algorithms/sorting/merge-sort/README.md | 6 ++++++ src/algorithms/sorting/quick-sort/README.md | 6 ++++++ src/algorithms/sorting/radix-sort/README.md | 6 ++++++ src/algorithms/sorting/selection-sort/README.md | 6 ++++++ src/algorithms/sorting/shell-sort/README.md | 6 ++++++ 9 files changed, 56 insertions(+) diff --git a/src/algorithms/sorting/bubble-sort/README.md b/src/algorithms/sorting/bubble-sort/README.md index 4861dc2e4..8d3c64d40 100644 --- a/src/algorithms/sorting/bubble-sort/README.md +++ b/src/algorithms/sorting/bubble-sort/README.md @@ -9,6 +9,13 @@ are needed, which indicates that the list is sorted. ![Algorithm Visualization](https://upload.wikimedia.org/wikipedia/commons/c/c8/Bubble-sort-example-300px.gif) +## Complexity + +###### time: worst _O_(_n_2), best _O_(_n_), average _O_(_n_2) + +###### space: worst _O_(1) auxiliary + + ## References - [Wikipedia](https://en.wikipedia.org/wiki/Bubble_sort) diff --git a/src/algorithms/sorting/counting-sort/README.md b/src/algorithms/sorting/counting-sort/README.md index 261efe521..d210f32d4 100644 --- a/src/algorithms/sorting/counting-sort/README.md +++ b/src/algorithms/sorting/counting-sort/README.md @@ -54,6 +54,12 @@ zero. ![Counting Sort](https://1.bp.blogspot.com/-xPqylngqASY/WLGq3p9n9vI/AAAAAAAAAHM/JHdtXAkJY8wYzDMBXxqarjmhpPhM0u8MACLcB/s1600/ResultArrayCS.gif) +## Complexity + +###### time: worst _O_(_n_ + _k_), best _O_(_n_), average _O_(_n_ + _k_) where _n_ is the number of elements in the input array and _k_ is the range of the output. + +###### space: worst _O_(_n_ + _k_) + ## References - [Wikipedia](https://en.wikipedia.org/wiki/Counting_sort) diff --git a/src/algorithms/sorting/heap-sort/README.md b/src/algorithms/sorting/heap-sort/README.md index 7504875df..9c402d566 100644 --- a/src/algorithms/sorting/heap-sort/README.md +++ b/src/algorithms/sorting/heap-sort/README.md @@ -13,6 +13,12 @@ rather than a linear-time search to find the maximum. ![Algorithm Visualization](https://upload.wikimedia.org/wikipedia/commons/4/4d/Heapsort-example.gif) +## Complexity + +###### time: worst _O_(_n log n_), best _O_(_n log n_), average _O_(_n log n_) + +###### space: worst _O_(1) auxiliary + ## References [Wikipedia](https://en.wikipedia.org/wiki/Heapsort) diff --git a/src/algorithms/sorting/insertion-sort/README.md b/src/algorithms/sorting/insertion-sort/README.md index a31804d4f..3f59f5ab4 100644 --- a/src/algorithms/sorting/insertion-sort/README.md +++ b/src/algorithms/sorting/insertion-sort/README.md @@ -10,6 +10,13 @@ sort. ![Algorithm Visualization](https://upload.wikimedia.org/wikipedia/commons/0/0f/Insertion-sort-example-300px.gif) +## Complexity + +###### time: worst _O_(_n_2), best _O_(_n_), average _O_(_n_2) + +###### space: worst _O_(1) auxiliary + + ## References [Wikipedia](https://en.wikipedia.org/wiki/Insertion_sort) diff --git a/src/algorithms/sorting/merge-sort/README.md b/src/algorithms/sorting/merge-sort/README.md index 372cc2ac6..e015b0580 100644 --- a/src/algorithms/sorting/merge-sort/README.md +++ b/src/algorithms/sorting/merge-sort/README.md @@ -22,6 +22,12 @@ emulate merge sort (top-down). ![Merge Sort](https://upload.wikimedia.org/wikipedia/commons/e/e6/Merge_sort_algorithm_diagram.svg) +## Complexity + +###### time: average _O_(_n log n_) + +###### space: worst _O_(_n_) + ## References - [Wikipedia](https://en.wikipedia.org/wiki/Merge_sort) diff --git a/src/algorithms/sorting/quick-sort/README.md b/src/algorithms/sorting/quick-sort/README.md index 3021e6e2d..50b639311 100644 --- a/src/algorithms/sorting/quick-sort/README.md +++ b/src/algorithms/sorting/quick-sort/README.md @@ -23,6 +23,12 @@ The horizontal lines are pivot values. ![Quicksort](https://upload.wikimedia.org/wikipedia/commons/6/6a/Sorting_quicksort_anim.gif) +## Complexity + +###### time: worst _O_(_n_2), best _O_(_n log n_), average _O_(_n log n_) + +###### space: worst _O_(_n_) auxiliary + ## References - [Wikipedia](https://en.wikipedia.org/wiki/Quicksort) diff --git a/src/algorithms/sorting/radix-sort/README.md b/src/algorithms/sorting/radix-sort/README.md index 01471cb3f..90920fe30 100644 --- a/src/algorithms/sorting/radix-sort/README.md +++ b/src/algorithms/sorting/radix-sort/README.md @@ -25,6 +25,12 @@ comparison-based sorts (and worse if keys are much longer than `log n`). ![Radix Sort](https://www.researchgate.net/publication/291086231/figure/fig1/AS:614214452404240@1523451545568/Simplistic-illustration-of-the-steps-performed-in-a-radix-sort-In-this-example-the.png) +## Complexity + +###### time: worst _O_(_n_), best _O_(_n_), average _O_(_n_) + +###### space: always _O_(_n_) + ## References - [Wikipedia](https://en.wikipedia.org/wiki/Radix_sort) diff --git a/src/algorithms/sorting/selection-sort/README.md b/src/algorithms/sorting/selection-sort/README.md index 7a16f205e..cc1fbeec0 100644 --- a/src/algorithms/sorting/selection-sort/README.md +++ b/src/algorithms/sorting/selection-sort/README.md @@ -13,6 +13,12 @@ memory is limited. ![Algorithm Visualization](https://upload.wikimedia.org/wikipedia/commons/9/94/Selection-Sort-Animation.gif) +## Complexity + +###### time: worst _O_(_n_2), best _O_(_n_2), average _O_(_n_2) + +###### space: _O_(1) auxiliary + ## References [Wikipedia](https://en.wikipedia.org/wiki/Selection_sort) diff --git a/src/algorithms/sorting/shell-sort/README.md b/src/algorithms/sorting/shell-sort/README.md index 9d202c55e..3837ecbc2 100644 --- a/src/algorithms/sorting/shell-sort/README.md +++ b/src/algorithms/sorting/shell-sort/README.md @@ -42,6 +42,12 @@ Shell sort uses insertion sort to sort the array. ![Shellsort](https://www.tutorialspoint.com/data_structures_algorithms/images/shell_sort.jpg) +## Complexity + +###### time: best _O_(_n log n_), average - depends on 'gap sequence'. + +###### space: worst _O_(_n_) total, _O_(1) auxiliary + ## References * [Tutorials Point](https://www.tutorialspoint.com/data_structures_algorithms/shell_sort_algorithm.htm)