#AG102. 【课堂练习】1.2算法简介进阶
【课堂练习】1.2算法简介进阶
1.当算法的时间复杂度为O(n log n)时,这属于: {{ select(1) }}
- 常数时间
- 线性对数时间
- 平方时间
- 指数时间
2.以下函数的时间复杂度是:{{ select(2) }}

- O(n)
- O(n log n)
- O(log n)
- O(2^n)
3.当算法的时间复杂度为O(1)时,说明: {{ select(3) }}
- 与输入规模无关
- 线性增长
- 指数增长
- 对数增长
4.在旅行商问题中,5个城市的排列组合数是: {{ select(4) }}
- 24
- 120
- 720
- 5040
5.程序员尝试用二分查找在数组[5, 2, 9, 1, 5, 6]中查找数字9,但总是失败。失败的原因是: {{ select(5) }}
- 数组包含重复元素
- 目标值不存在
- 数组未排序
- 算法实现有误
6.小明在图书馆的索引系统中查找一本编号为"20231025"的书籍,索引是按编号有序排列的。若使用二分查找,最坏情况下需要检查多少次才能确定是否存在?(假设共有1,000,000本书) {{ select(6) }}
- 1,000,000次
- 500,000次
- 1000次
- 20次
7.某游戏排行榜前100名玩家的得分按降序排列。若想确认玩家"Alice"是否在榜,使用二分查找时发现中间位置的分数比Alice的分数低,下一步应: {{ select(7) }}
- 搜索左半部分
- 搜索右半部分
- 终止搜索
- 重新排序数组
8.某算法的时间复杂度为O(n³),当输入规模扩大10倍时,运行时间大约变为原来的多少倍? {{ select(8) }}
- 10倍
- 100倍
- 1000倍
- 1000倍
9.某游戏排行榜前1000名玩家的分数已排序。若玩家当前排名是第800名,使用二分查找时,第一次比较的中间位置是第 {{ input(9) }} 名。(初始 low=0,high=999)
10.对长度为n的数组,二分查找的时间复杂度是O(){{ input(10) }},而线性查找的时间复杂度是O(){{ input(11) }}。