当前位置: 首页 > news >正文

07复杂度分析实战习题集

基础循环分析题(入门级)

题目1

分析以下代码的时间复杂度:

def function1(n):sum = 0for i in range(n):sum += ireturn sum

参考答案:

  • 循环执行n次,每次执行常数时间操作
  • 时间复杂度:O(n)
  • 空间复杂度:O(1)(只使用了常数个变量)

题目2

分析以下代码的时间复杂度:

def function2(n):for i in range(5):print(i)for j in range(n):print(j)

参考答案:

  • 第一个循环:固定执行5次,O(1)
  • 第二个循环:执行n次,O(n)
  • 根据相加规则:O(1) + O(n) = O(n)

题目3

分析以下代码的时间复杂度:

def function3(arr):n = len(arr)for i in range(n):if arr[i] == target:return ireturn -1

参考答案:

  • 最坏情况下需要遍历整个数组
  • 时间复杂度:O(n)
  • 空间复杂度:O(1)

嵌套循环分析题(进阶级)

题目4

分析以下代码的时间复杂度:

def function4(n):for i in range(n):for j in range(n):print(i, j)

参考答案:

  • 外循环执行n次
  • 每次外循环,内循环执行n次
  • 根据相乘规则:n × n = O(n2)O(n^2)O(n2)

题目5

分析以下代码的时间复杂度:

def function5(n):for i in range(n):for j in range(i):print(i, j)

参考答案:

  • i=0时,内循环0次
  • i=1时,内循环1次
  • i=n-1时,内循环n-1次
  • 总次数:0+1+2+…+(n-1) = n(n-1)/2
  • 时间复杂度:O(n²)

题目6

分析以下代码的时间复杂度:

def function6(n
http://www.dtcms.com/a/339636.html

相关文章:

  • PG靶机 - Pebbles
  • 无人机/航测/三维建模领域常见的“航线规划或建模方式
  • 基于单片机智能拐杖/导盲杖/老人防摔倒设计
  • python-林粒粒的视频笔记1
  • 网络数据包
  • 用relation-graph构建关系图谱 vue版
  • 单片 、物联网、51单片机、软硬件之基于STM32与蓝牙的仓储管控系统的设计与实现/基于物联网的仓库管理系统
  • 【实时Linux实战系列】基于实时Linux的物联网系统设计
  • AI硬件 - AMD显卡架构演进及产品线
  • 快速傅里叶变换:数字信号处理的基石算法
  • ubuntu24.04 用apt安装的mysql修改存储路径(文件夹、目录)
  • Linux 系统下安装 uv 并在 PyCharm 中使用指南
  • Z-Score归一化:原理、作用与实战解析
  • UGUI源码剖析(10):总结——基于源码分析的UGUI设计原则与性能优化策略
  • Spring框架-数据访问层和事务管理
  • 不止是耳机,运动与商务的结合!雷登A7开放式蓝牙耳机
  • Linux下的软件编程——IPC机制(信号和共享内存)
  • QT6(常用界面组件的使用和布局管理)
  • 芯片没有型号能解密程序么?
  • 多线程—飞机大战排行榜功能(2.0版本)
  • 量化交易 - 概念板块对应股票 python代码
  • IEEE Transactions on Communications (TCOM) 投稿状态记录
  • 右值引用与移动语义【C++进阶每日一学】
  • Chrome插件开发【windows】
  • Infusing fine-grained visual knowledge to Vision-Language Models
  • Kotlin 协程之Channel
  • Python脚本每天爬取微博热搜-升级版
  • 电商数据分析可视化预测系统
  • GPT-5论文写作全流程提示词库
  • 点大餐饮独立版系统源码v1.0.3+uniapp前端+搭建教程