From 30091ed98416aedb8a80ab30b8f2348b7e7c451f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Furkan=20T=C3=BCrkal?= Date: Thu, 26 Oct 2017 22:29:49 +0300 Subject: [PATCH] update readme --- merge-sort/README.md | 2 +- quick-sort/README.md | 35 ++++++++++++++++++++++++++++ quick-sort/resources/quick-sort.png | Bin 0 -> 43623 bytes 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 quick-sort/resources/quick-sort.png diff --git a/merge-sort/README.md b/merge-sort/README.md index 417220b..8c2fbcc 100644 --- a/merge-sort/README.md +++ b/merge-sort/README.md @@ -4,7 +4,7 @@ ## What It Is -Like **[QuickSort](https://github.com/Dentrax/Data-Structures-with-Go/tree/master/quick-sort)**, Merge Sort is a Divide and Conquer algorithm. It divides input array in two halves, calls itself for the two halves and then merges the two sorted halves. The `merge()` function is used for merging two halves. The `merge(arr, l, m, r)` is key process that assumes that `arr[l..m]` and `arr[m+1..r]` are sorted and merges the two sorted sub-arrays into one. See following C implementation for details +Like **[QuickSort](https://github.com/Dentrax/Data-Structures-with-Go/tree/master/quick-sort)**, `MergeSort` is a Divide and Conquer algorithm. It divides input array in two halves, calls itself for the two halves and then merges the two sorted halves. The `merge()` function is used for merging two halves. The `merge(arr, l, m, r)` is key process that assumes that `arr[l..m]` and `arr[m+1..r]` are sorted and merges the two sorted sub-arrays into one. See following C implementation for details ![Preview Thumbnail](https://upload.wikimedia.org/wikipedia/commons/c/cc/Merge-sort-example-300px.gif) diff --git a/quick-sort/README.md b/quick-sort/README.md index e69de29..235f1c8 100644 --- a/quick-sort/README.md +++ b/quick-sort/README.md @@ -0,0 +1,35 @@ +

Quick Sort Source

+ +[What It Is](#what-it-is) + +## What It Is + +Like **[MergeSort](https://github.com/Dentrax/Data-Structures-with-Go/tree/master/merge-sort)**, `QuickSort` is a Divide and Conquer algorithm. It picks an element as pivot and partitions the given array around the picked pivot. There are many different versions of quickSort that pick pivot in different ways. + +* Always pick first element as pivot. +* Always pick last element as pivot (implemented below) +* Pick a random element as pivot. +* Pick median as pivot. + +The key process in quickSort is `partition()`. 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. All this should be done in linear time. + +![Preview Thumbnail](https://upload.wikimedia.org/wikipedia/commons/6/6a/Sorting_quicksort_anim.gif) + +QuickSort(arr[], start, end) +-------------------------- + +**Partition Algorithm** + +There can be many ways to do partition, following pseudo code adopts the method given in CLRS book. The logic is simple, we start from the leftmost element and keep track of index of smaller (or equal to) elements as i. While traversing, if we find a smaller element, we swap current element with arr[i]. Otherwise we ignore current element. + +![Preview Thumbnail](https://raw.githubusercontent.com/Dentrax/Data-Structures-with-Go/master/quick-sort/resources/quick-sort.png) + +> * Input: {10, 7, 8, 9, 1, 5} +> * Output: Sorted array is `1 5 7 8 9 10` + +**Algorithm Complexity** + +| Complexity | Notation | +| ----------------- |:------------:| +| `Time Complexity` | `O(n log n)` | +| `Auxiliary Space` | `O(n)` | \ No newline at end of file diff --git a/quick-sort/resources/quick-sort.png b/quick-sort/resources/quick-sort.png new file mode 100644 index 0000000000000000000000000000000000000000..cb0f99a62c73957d4c12bbba2e521637f21b4e3f GIT binary patch literal 43623 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 SLu|a7hc649eN7?8H0?eQAKtb8(b5ij!Bx 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