time-complexity - 这个嵌套循环的时间复杂度是多少?
问题描述
我偶然发现了一个循环,我不确定时间复杂度是多少。它是以下循环:
for(i = 1; i <= n^2; i++){
for(j = 1; j <= i; j++) {
//some elementary operation
}
}
我会争辩说,外部 for 循环在 n^2 中运行,而内部 for 循环也将在 n^2 中运行,因为对于我们执行 n^2 - (n^2 - 1) 的外部循环的每次迭代, n^2 - (n^2 - 2),..., n^2。我在这里完全走错了方向吗?
所以时间复杂度是 n^4
解决方案
操作次数为:
1 + 2 + 3 + 4 + 5 + ... + n²
等于 (n² * (n² - 1)) / 2。
大 O 表示法是 O(n^4)。你是对的。
推荐阅读
- c++ - 在 QT 中完全删除文件夹
- c# - .net core docker centos HttpRequest错误:(Socket Exception)资源暂时不可用
- javascript - 我不能在 javascript 中重复一个函数
- spring-boot - 在 Spring Boot 中抛出 ResponseStatusException 时,响应中不包含异常消息
- arrays - 将核心数据日期保存为数组
- google-sheets - 查询多个按年份命名的工作表的最简单方法是什么?
- javascript - 创建 Strapi API 后,是否有人在角色和权限中出现“ReferenceError:React 未定义”?
- discord.py - 我是 python 新手,我正在尝试创建一个排行榜
- bash - Bash 等待立即终止?
- sql - Select * into #Temp 在动态 SQL 中不起作用