time-complexity - 单循环的最佳时间复杂度?
问题描述
我有一个非常简单的问题,我有这个循环:
for (int i=0; i<n; i++) {
"some O(n) stuff here)"
}
该算法的最佳时间复杂度是多少? 上)? (对于循环O(1) * O(n)的东西) 还是 O(n^2)? (for 循环O(n) * O(n)循环内的东西) for 循环本身是否会像往常一样被视为 O(n),还是会被视为 O(1),因为它只会进行 1 个循环对于最好的情况?
解决方案
你是对的,如果“stuff”的最佳运行时间是恒定的(甚至为零),那么最好的时间复杂度是 O(N)(甚至是 Θ(N))。
无论如何,如果已知“stuff”是最好的情况 Ω(f(N)),那么最好的总时间是 Ω(N f(N))。
推荐阅读
- reactjs - 我无法在 Azure Linux 环境中仅部署 ReactJS 应用程序的构建文件夹
- python - Pandas Out of Bounds 时间戳解决方法
- python - Python - 重复任务
- rust - 重新借用嵌套的可变引用
- javascript - 使用 gaxios(或 axios)管道请求
- ruby-on-rails - 如何通过很少的选项从连接表中选择数据记录?
- php - 当电子邮件形式的表格中没有这样的行时,PHP会给出错误
- c# - 连接到 Oracle 失败 => .Net
- maven - 在组装期间合并父子pom
- scikit-learn - sklearn的SVM中使用的决策函数是什么