题目
算法时间复杂度的度量方法是______。A. 算法程序的长度B. 执行算法所需要的基本运算次数C. 执行算法所需要的所有运算次数D. 执行算法所需要的时间
算法时间复杂度的度量方法是______。
A. 算法程序的长度
B. 执行算法所需要的基本运算次数
C. 执行算法所需要的所有运算次数
D. 执行算法所需要的时间
题目解答
答案
B. 执行算法所需要的基本运算次数
解析
时间复杂度是衡量算法运行时间的指标,其核心在于忽略具体硬件差异,关注算法本身的运算量。
- 关键点:时间复杂度不直接测量“执行时间”(因硬件不同结果不同),而是通过基本运算次数来反映算法效率。
- 基本运算指简单操作(如加减、比较、赋值),这些操作的时间可视为常数。
- 选项B(基本运算次数)符合这一定义,而选项C(所有运算次数)范围过宽,不符合标准分析方法。
选项分析
-
选项A:算法程序的长度
- 代码行数与实际运行时间无直接关系(如一行代码可能包含复杂操作)。
- 错误。
-
选项B:执行算法所需要的基本运算次数
- 正确。时间复杂度通过统计基本运算的总次数(如循环内简单操作的累加)来评估效率。
- 例如:
for (i=0; i<n; i++) { x = x + 1; }中,x = x + 1是基本运算,总次数为n。
-
选项C:执行算法所需要的所有运算次数
- 包含复杂操作(如函数调用、系统调用)的总次数,但这些操作的时间不固定,无法统一衡量。
- 错误。
-
选项D:执行算法所需要的时间
- 直接测量时间受硬件影响,无法比较不同设备上的算法性能。
- 错误。