為幫助廣大軟考中級(jí)軟件設(shè)計(jì)師考生更好備考,信管網(wǎng)特整理匯總了軟件設(shè)計(jì)師部分《案例分析》真題、答案及解析供考生查閱,并提供免費(fèi)在線模擬答題、歷年真題免費(fèi)下載等服務(wù),了解軟件設(shè)計(jì)師更多備考信息請(qǐng)關(guān)注信管網(wǎng)。
相關(guān)推薦:
點(diǎn)擊查看/下載:軟件設(shè)計(jì)師歷年真題匯總
點(diǎn)擊查看:軟件設(shè)計(jì)師在線培訓(xùn)課程 丨 免費(fèi)試聽(tīng)課程
免費(fèi)練習(xí):軟件設(shè)計(jì)師考試題庫(kù)(模擬試題、章節(jié)練習(xí)、每日一練)
【說(shuō)明】
希爾排序算法又稱最小增量排序算法,其基本思想是:
步驟1 :構(gòu)造一個(gè)步長(zhǎng)序列delta1、delta2...、deltak ,其中delta1=n/2 ,后面的每個(gè)delta是前一個(gè)的1/2 , deltak=1;
步驟2 :根據(jù)步長(zhǎng)序列、進(jìn)行k趟排序;
步驟3 :對(duì)第i趟排序,根據(jù)對(duì)應(yīng)的步長(zhǎng)delta,將等步長(zhǎng)位置元素分組,對(duì)同一組內(nèi)元素在原位置上進(jìn)行直接插入排序。
【C代碼】
下面是算法的C語(yǔ)言實(shí)現(xiàn)。
(1)常量和變量說(shuō)明
data:待排序數(shù)組data,長(zhǎng)度為n,待排序數(shù)據(jù)記錄在data[0]、data[1]、...、data[n-1]中。
n:數(shù)組a中的元素個(gè)數(shù)。
delta:步長(zhǎng)數(shù)組。
(2)C程序
#include
void shellsort(int data[ ], int n){
int *delta,k,i,t,dk,j;
k=n;
delta=(int *)nalloc(sizeof(int)*(n/2));
if(i=0)
do{
( 1 ) ;
delta[i++]=k;
}while ( 2 ) ;
i=0;
while((dk=delta[i])>0){
for(k=delta[i];k
if( ( 3 ) ) {
t=data[k];
for(j=k-dk;j>=0&&t
data[j+dk]=data[j];
}/*for*/
( 4 ) ; //data[j+dk]=t;
}/*if*/
++i;
}/*while*/
}
【問(wèn)題1】(8分)
根據(jù)說(shuō)明和c代碼,填充c代碼中的空(1) ~ (4)。
【問(wèn)題2】(4分)
根據(jù)說(shuō)明和c代碼,該算法的時(shí)間復(fù)雜度(5)O(n2) (小于、等于或大于)。該算法是否穩(wěn)定(6) ( 是或否)。
【問(wèn)題3】(3分)
對(duì)數(shù)組(15、9、7、8、20、-1、 4)用希爾排序方法進(jìn)行排序,經(jīng)過(guò)di-趟排后得到的數(shù)組為(7)。
信管網(wǎng)參考答案:
【問(wèn)題1】(8分)
(1) k=k/2
(2) k>1
(3) data[k]
(4) data[j+dk]=t
【問(wèn)題2】 (4分)
(5)小于
(6)否
【問(wèn)題3】(3分)
(7)(4,9,-1,8,20,7,15)
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)以權(quán)威部門(mén)公布的內(nèi)容為準(zhǔn)!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛(ài)好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書(shū)、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過(guò)深研歷年考試出題規(guī)律與考試大綱,深挖核心知識(shí)與高頻考點(diǎn),為學(xué)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
發(fā)表評(píng)論 查看完整評(píng)論 | |