首页
登录
从业资格
希尔排序算法又称最小增量排序算法,其基本思想是: 步骤1 :构造一个步长序列d
希尔排序算法又称最小增量排序算法,其基本思想是: 步骤1 :构造一个步长序列d
考试题库
2022-08-02
64
问题
希尔排序算法又称最小增量排序算法,其基本思想是:步骤1 :构造一个步长序列delta1、delta2...、deltak ,其中delta1=n/2 ,后面的每个delta是前一个的1/2 , deltak=1;步骤2 :根据步长序列、进行k趟排序;步骤3 :对第i趟排序,根据对应的步长delta,将等步长位置元素分组,对同一组内元素在原位置上进行直接插入排序。【C代码】下面是算法的C语言实现。(1)常量和变量说明data:待排序数组data,长度为n,待排序数据记录在data[0]、data[1]、...、data[n-1]中。n:数组a中的元素个数。delta:步长数组。(2)C程序#include <stdio.h>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
)>0){ for(k=delta
;k<n;++k) if( ( 3 ) ) { t=data[k]; for(j=k-dk;j>=0&&t<data[j];j-=dk){ data[j+dk]=data[j]; }/*for*/ ( 4 ) ; //data[j+dk]=t; }/*if*/ ++i; }/*while*/}【问题1】(8分)根据说明和c代码,填充c代码中的空(1) ~ (4)。【问题2】(4分)根据说明和c代码,该算法的时间复杂度(5)O(n2) (小于、等于或大于)。该算法是否稳定(6) ( 是或否)。【问题3】(3分)对数组(15、9、7、8、20、-1、 4)用希尔排序方法进行排序,经过di-趟排后得到的数组为(7)。
选项
答案
解析
【问题1】(8分)
(1)k=k/2
(2)k>1
(3)data[k]<data[k-dt]
(4)data[j+dk]=t
【问题2】(4分)
(5)小于
(6)否
【问题3】(3分)
(7)(4,9,-1,8,20,7,15)
转载请注明原文地址:https://www.tihaiku.com/congyezige/2409364.html
本试题收录于:
中级 软件设计师题库软件水平考试初中高级分类
中级 软件设计师
软件水平考试初中高级
相关试题推荐
在下列调度算法中,()算法不会出现任务“饥饿”的情形。A.时间片轮转法 B.
以下加密算法中适合对大量的明文消息进行加密传输的是() A.RSA B.
哈希存储的基本思想是根据()来决定(),冲突(碰撞)指的是(),(
哈希存储的基本思想是根据()来决定(),冲突(碰撞)指的是(),(请
若对27个元素只进行三趟多路归并排序,则选取的归并路数为()。A.2 B.3
对于给定的关键字序列(47,34,13,12,52,38,33,27
在一棵二叉树的先序遍历、中序遍历、后序遍历所产生的序列中,所有叶子结点的先后顺序
_()_从二叉树的任一结点出发到根的路径上,所经过的结点序列必按其关键字降序排
在()校验方法中,采用模2运算来构造校验位。A.水平奇偶 B.垂直奇偶
聚类的典型应用不包括(请作答此空),()是一个典型的聚类算法。A.商务应用中,
随机试题
Passage1[originaltext]中国是一个古老而文明的国家。早在50万年以前,中国大陆就有了古人类的足迹。约公元前21世纪,中国第一个朝
Iwentintoafurnitureshopinordertobuyapicture.Thesalesmantoldme—"
______myjobeasy,butalsohavemadeitarealpleasuretodothisjob.A、Noton
[originaltext]W:Iunderstandyou’vebecomearealcooklately,Martin.M:Well
[originaltext]M:It’stimetograduateandtofindajob.Susan,whydoweneed
下列表述,正确的是( )。A.命令包括发布性命令、事项性命令、情况性命令等
下列关于民用建筑内门的设置的说法,错误的是()。A.手动开启的大门扇应有制动装
某药材属于花类中药,三基原。主产于河南、四川、安徽、湖北、陕西等省。药材呈长卵形
某套商品住宅的建筑面积为100m2,套内建筑面积为80m2,套内建筑面积的价格为
某公司2010年1月1日发行票面利率为5%的可转换债券,面值1000万元,规定每
最新回复
(
0
)