国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)結(jié)構(gòu)之希爾排序

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)據(jù)結(jié)構(gòu)之希爾排序。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

活動(dòng)地址:CSDN21天學(xué)習(xí)挑戰(zhàn)賽

??作者簡介:大家好我是小唐同學(xué)(?>?<?),為夢想而奮斗的小唐,讓我們一起加油?。?!

希爾排序d怎么取,數(shù)據(jù)結(jié)構(gòu),排序算法,算法,數(shù)據(jù)結(jié)構(gòu)

個(gè)人主頁:小唐同學(xué)(?>?<?)的博客主頁

系列專欄:數(shù)據(jù)結(jié)構(gòu)

博友們?nèi)绻彩切率秩腴T數(shù)據(jù)結(jié)構(gòu)我希望大家可以多加練習(xí) 數(shù)據(jù)結(jié)構(gòu)題庫在??途W(wǎng)就有已經(jīng)給大家附上鏈接,可以直接點(diǎn)擊跳轉(zhuǎn):刷題點(diǎn)這里

??途W(wǎng)支持ACM模式哦,刷算法題也很推薦哦?。?!

下面上文章------》

目錄

希爾排序介紹:

?希爾排序分組:

算法步驟:

輸入:

輸出:

算法理解:

實(shí)例代碼:

?復(fù)雜度分析:

? ?時(shí)間復(fù)雜度:

? ?空間復(fù)雜度:


希爾排序介紹:

希爾排序?qū)嶋H上就是將一組數(shù)據(jù)進(jìn)行分組排序(等距元素為一組進(jìn)行排序),在每一組內(nèi)進(jìn)行直接插入排序,讓后每一次減少間距,進(jìn)行排序,到距離為1結(jié)束。

希爾排序也可以認(rèn)為直接插入排序的優(yōu)化版,優(yōu)化肯定要從直接插入排序的優(yōu)點(diǎn)來想

(1)在待排序序列基本有序時(shí),直接插入排序效率會(huì)大大提高。

(2)在待排元素?cái)?shù)量較小時(shí),直接插入排序效率也會(huì)大大提高。

希爾排序就是把這兩個(gè)優(yōu)點(diǎn)給放大、利用起來。??

?希爾排序分組:

希爾排序是如何進(jìn)行分組那?

對于這個(gè)d應(yīng)該會(huì)產(chǎn)生疑惑的,

d1=n/2(n為元素的數(shù)量---第一次距離)

d2=d1/2;(向后遞推)

dn+1=dn/2

當(dāng)d=1時(shí)結(jié)束。

算法步驟:

輸入:

一個(gè)數(shù)組(可以任一序列)

數(shù)據(jù)存儲(chǔ)時(shí)要從數(shù)組的1開始存儲(chǔ)? ?下標(biāo)為0的位置是用來做中間臨時(shí)量,用來進(jìn)行比較

輸出:

輸出一個(gè)有序序列

算法理解:

希爾排序我們理解起來可以與直接插入排序進(jìn)行比較,畢竟希爾排序也是在直接插入排序基礎(chǔ)上進(jìn)行的,無非就是多了分組的步驟,那我們可以理解為在組內(nèi)進(jìn)行直接插入排序,但是組之間距離為d,所以我們理解的希爾可以根據(jù)直接插入排序進(jìn)行理解,需要把直接插入排序中+1的地方換成+d

實(shí)例代碼:

#include <stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	int a[n+1];
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
	}
	int j;

	int d;
	for(d=n/2;d>=1;d=d/2)
	{
		for(int i=d+1;i<=n;i++) //j是用來比較前方元素 i是向后循環(huán) 
		{
			a[0]=a[i];
			j=i-d;
			while(j>0&&a[0]<a[j])
			{
				a[j+d]=a[j]; 
				j=j-d;
			}
			a[j+d]=a[0];
//因?yàn)樘鲅h(huán)時(shí)j-d了,然而a[0]比-d后的a[j]大所以它在后邊  所以j+d要+回來 
		}
	}
	for(int i=1;i<=n;i++)
	{
		printf("%d ",a[i]);
	}
	
	
 } 

?復(fù)雜度分析:

? ?時(shí)間復(fù)雜度:

時(shí)間復(fù)雜度是不確定的,根據(jù)d的取值不同是沒辦法確定的

? ?空間復(fù)雜度:

在希爾排序中只是借用了幾個(gè)臨時(shí)變量;

則空間復(fù)雜度為:O(1)。文章來源地址http://www.zghlxwxcb.cn/news/detail-561110.html

到了這里,關(guān)于數(shù)據(jù)結(jié)構(gòu)之希爾排序的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包