计算机考研 408 数据结构 时间复杂度分析 计算题例题及解析

解题步骤

  1. 确定每一层循环的取值范围
  2. 写出关键语句(x++)的求和表达式
  3. 分析时间复杂度

例题

例1 以下 C 代码的时间复杂度是____。

复制代码
int count = 0;
for (int i=0; i*i<n; i++)
    for (int j=0; j<i; j++)
        count++;

**正确答案:**O(n)

  1. , 时间复杂度为O(n)

例2 下列程序段的时间复杂度是____。

复制代码
int sum = 0;
for (int i = 1; i < n; i *= 2)
    for (int j = 0; j < i; j++)
        sum++;

**正确答案:**O(n)

  1. i = 1, 2, 4, ..., 2^k(k=logn),
  2. , 时间复杂度为O(n)
相关推荐
superman超哥2 小时前
Rust 注释与文档注释:代码即文档的工程实践
开发语言·算法·rust·工程实践·rust注释与文档注释·代码即文档
yuuki2332332 小时前
【C++】vector底层实现全解析
c++·后端·算法
小尧嵌入式2 小时前
C++选择排序插入排序希尔排序快排归并排及大小根堆实现优先级队列
数据结构·c++·windows·算法·排序算法
吴声子夜歌2 小时前
数据结构——二叉树
数据结构
天赐学c语言2 小时前
12.29 - 字符串相加 && vector和map的区别
数据结构·c++·算法·leecode
一招定胜负2 小时前
支持向量机实现垃圾邮件分类及参数调优原理
算法·支持向量机·分类
CodeByV2 小时前
【算法题】位运算
数据结构·算法
郝学胜-神的一滴3 小时前
李航《机器学习方法》全面解析与高效学习指南
人工智能·python·算法·机器学习·数学建模·scikit-learn