mirror of
https://gitlab.com/magicalsoup/Highschool.git
synced 2025-01-23 16:11:46 -05:00
Update Merge Sort.md
This commit is contained in:
parent
3ceca1853b
commit
057498ebc0
@ -1,4 +1,25 @@
|
||||
## Introduction
|
||||
Merge sort is a comparison type sort that has an effective use of recursion and the divide and conquer algorithm.
|
||||
Merge sort sorts in O(N log N) time and uses O(N log N) space.We will explore the pros and cons of this sort,
|
||||
the proofs on its time and space complexity and the implementation and algorithm of this sorting method.
|
||||
Merge sort is a comparison type sort that has an effective use of recursion and the divide and conquer algorithm. <br>
|
||||
Merge sort sorts in $`O(N \log N)`$ time and uses $`O(N \log N)`$ space. <br>
|
||||
We will explore the pros and cons of this sort the proofs on its time and space complexity and the implementation and algorithm of this sorting method.
|
||||
|
||||
**Abstract:** Given two sorted arrays $`a_{lo}`$ to $`a_{mid}`$ and $`a_{mid+1}`$ to $`a_{hi}`$, replace with sorted subarray $`a_{lo}`$ to $`a_{hi}`$.
|
||||
|
||||
## Basic Algorithm
|
||||
- Divide array into 2 halves
|
||||
- Recursively sort each half
|
||||
- Merge the two halfs.
|
||||
|
||||
```py
|
||||
def mergesort(left, right, array[]):
|
||||
if left <= right:
|
||||
mid = (left + right) / 2
|
||||
mergesort(left, mid, array[])
|
||||
mergesort(mid+1, right, array[])
|
||||
mergehalves(left, mid, right, array[])
|
||||
```
|
||||
|
||||
## Running Time Analysis
|
||||
- Latop computer can run close to $`10^8`$ per second.
|
||||
- Supercomputer can execute $`10^{12}`$ compares per second.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user