排序算法-Sort,更高效率的插入排序—希尔排序
Posted 数据结构与算法考研日记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法-Sort,更高效率的插入排序—希尔排序相关的知识,希望对你有一定的参考价值。
代码
void shell_sort(int a[], int n)
{
int i,j,k, key;
k = n / 2;
while (k >= 1)
{
for (i = k; i < n; i++) //插入排序时,两个比较元素之间距离k
{ //在简单插入排序中两个比较元素距离为1
key = a[i];
j = i - k;
while (key < a[j] && j >= 0)
{
a[j + k] = a[j];
j -= k;
}
a[j + k] = key;
}
k /= 2;
}
}
时间复杂度 | 空间复杂度 |
稳定性 |
复杂性 |
||
平均 |
最坏 |
最好 |
|||
O(nlogn)~O(n^2) |
O(nlogn)~O(n^2) | O(1) |
不稳定 | 较复杂 |
以上是关于排序算法-Sort,更高效率的插入排序—希尔排序的主要内容,如果未能解决你的问题,请参考以下文章