-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
5d7e27e
commit 2366cce
Showing
1 changed file
with
17 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Insertion sort | ||
|
||
![insertion1](https://upload.wikimedia.org/wikipedia/commons/4/42/Insertion_sort.gif) | ||
|
||
[read more in wikipedia](https://en.wikipedia.org/wiki/Insertion_sort) | ||
|
||
Insertion sort is a simple sorting algorithm that builds the final sorted array (or list) one item at a time. It is much less efficient on large lists than more advanced algorithms such as quicksort, heapsort, or merge sort. However, insertion sort provides several advantages: | ||
|
||
- Simple implementation: Jon Bentley shows a three-line C version, and a five-line optimized version | ||
- Efficient for (quite) small data sets, much like other quadratic sorting algorithms | ||
- More efficient in practice than most other simple quadratic (i.e., O(n2)) algorithms such as selection sort or bubble sort | ||
- Adaptive, i.e., efficient for data sets that are already substantially sorted: the time complexity is O(kn) when each element in the input is no more than k places away from its sorted position | ||
- Stable; i.e., does not change the relative order of elements with equal keys | ||
- In-place; i.e., only requires a constant amount O(1) of additional memory space | ||
- Online; i.e., can sort a list as it receives it | ||
|
||
When people manually sort cards in a bridge hand, most use a method that is similar to insertion sort. |