希尔排序(Shell Sort)
2020-12-13 02:28
标签:分析 增量排序 pre 复杂度 不同 需要 必须 复杂 代码 希尔排序(Shell Sort) 标签:分析 增量排序 pre 复杂度 不同 需要 必须 复杂 代码 原文地址:https://www.cnblogs.com/sunnylux/p/11039887.html希尔排序
思路分析:希尔排序又叫缩小增量排序,通过指定增量序列(尽量取素数且最小增量必须为1)对需要进行排序的数组进行分组,然后每组内部进行一次直接插入排序,不断缩小增量,直到增量为1排序完成。
时间复杂度:不同增量序列时间复杂度不同(希尔增量序列时间复杂度为O(n2)、帕斯增量序列时间复杂度为O(n1.5))。
代码:
void ShellSort(int R[],int n)
{
int i,j,delta;
for(delta=n/2;delta>0;delta/=2) //此处增量序列取希尔增量序列(n/2,n/4....)
{
for(i=0;i
下一篇:中国天气网API