2020下半年软件设计师考试已经结束,今天编程学习网小编为大家整理了2020年软件设计师下午真题(四),供考生参考。
【说明】
希尔排序算法又称最小增量排序算法,其基本思想是:
步骤1 :构造一个步长序列delta、deltak、 deltak ,其中delta1=n/2 ,后面的每个delta是前一个的1/2 , deltak=1;
步骤2 :根据步长序列、进行k趟排序;
步骤3 :对第i趟排序,根据对应的步长delta,将等步长位置元素分组,对同一组内元素在原位置上进行直接插入排序。
[问题1]根据说明和c代码,填充c代码中的空(1) ~ (4)。
[问题2]根据说明和c代码,该算法的时间复杂度(5)0(n2) (小于、等于或大于)。该算法是否稳定(6)(是或否)。
[问题3]对数组(15、9、7、8、20、-1、 4)用希尔排序方法进行排序,经过di-趟排后得到的数组为(7)。