一、选择题
1. 在以下排序算法中,哪一种的时间复杂度在最坏情况下仍为O(n log n)?
A. 冒泡排序
B. 快速排序
C. 归并排序
D. 插入排序
2. 关于动态规划算法的特点,以下描述正确的是:
A. 动态规划算法通常适用于无后效性的问题。
B. 动态规划算法总是比贪心算法效率高。
C. 动态规划的核心是递归公式的设计。
D. 动态规划只能解决优化问题。
二、填空题
1. 在图论中,若一个图的所有边都有方向,则称其为__________。
2. 二分查找算法的时间复杂度为__________。
三、简答题
1. 请简述分治法的基本思想,并举例说明其应用。
2. 什么是贪心算法?它有哪些特点?
四、编程题
1. 编写一个程序,使用快速排序算法对数组进行排序。
2. 设计一个算法,求解最长公共子序列问题。
以上题目仅为样题,具体考试时可能会有所调整。希望同学们通过复习能够熟练掌握各种算法的设计思想和应用场景,在考试中取得好成绩!