1. 题目一
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
希尔排序算法又称最小增量排序算法,其基本思想:
- 步骤1:构造一个步长序列 、,其中 ,后面的每个 是前一个的 ,。
- 步骤2:根据步长序列、进行 趟排序。
- 步骤3:对第 趟排序,根据对应的步长 ,将等步长位置元素分组,对同一组内元素在原位置上进行直接插入排序。
2026/9/22大约 4 分钟
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
希尔排序算法又称最小增量排序算法,其基本思想:
......
int main() {
int i,j,count=1;
int pos[N+1];
for(i=1; i<=N; i++) { //初始化位置
pos[i]=0;
}
(1) ; //此处缺少j的初始赋值
while(j>=1) {
pos[j]=pos[j]+1;
while(pos[j]<=N&& __) {/*尝试摆放第i个皇后*/
pos[j]=pos[j]+1;
}
}
}
空间复杂度是指对一个算法在运行过程中临时占用存储空间大小的度量。一个算法的空间复杂度只考虑在运行过程中为局部变量分配的存储空间的大小。
时间复杂度是指程序运行从开始到结束所需要的时间。通常分析时间复杂度的方法是从算法中选取一种对于所研究的问题来说是基本运算的操作,以该操作重复执行的次数作为算法的时间度量。
常见的对算法执行所需时间的度量:O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)<O(2n)
这里记录家庭组网、网络设备与日常网络实践。
这里记录浏览器、工具与其他零散但实用的内容。
这里记录《街霸 6》的基础概念、角色资料与实战经验。
算法策略 —— 考点:算法策略概述(分治法)
| 类别 | 排序方法 | 平均情况时间复杂度 | 特殊情况时间复杂度 | 空间复杂度(辅助存储) | 稳定性 |
|---|---|---|---|---|---|
| 插入排序 | 直接插入 | O(n2) | 基本有序最优 O(n) | O(1) | 稳定 |
| Shell 排序 | O(n1.3) | — | O(1) | 不稳定 | |
| 选择排序 | 直接选择 | O(n2) | — | O(1) | 不稳定 |
| 堆排序 | O(n log2 n) | — | O(1) | 不稳定 | |
| 交换排序 | 冒泡排序 | O(n2) | 基本有序最优 O(n) | O(1) | 稳定 |
| 快速排序 | O(n log2 n) | 基本有序最差 O(n2) | O(1) | 不稳定 | |
| 归并排序 | O(n log2 n) | — | O(n) | 稳定 | |
| 基数排序 | O(d(n + rd)) | — | O(rd) | 稳定 | |
排序算法 —— 其他类排序:基数排序(Radix Sort)
基本思想: