分析我的程序的时间复杂度

2024-01-06

我在确定算法的时间复杂度时遇到问题。

for(int i=0;i <n i++){}   O(n)

for(int i= 0 ;i<n ;i++){    O(n^2)
  for(int j=0;j<n;j++){ 

  }
}

现在对于以下代码的复杂性是多少

for(i =0; i<n ; i++) {}
for (j=0;j<n ;j++ ) {} 

它涉及 2 个独立的循环,所以它是 O(2n) 吗?

如果我开始 j =5 到 n 会怎样?


没有O(2n), 只是O(n)。换句话说,它的扩展速度与n增加。

If it was a nested loop, it would be O(n2) but the presence of your {} empty blocks means it isn't nested.

无论你从 1 开始还是从 5 开始都没有什么区别,它仍然可以随着n,只是加上一个稍微负的常数。因此仍然O(n).

复杂性O(n), O(cn) and O(n+c) (where c是常数)都是等价的。此外,您通常也只使用效果最高的术语。

So you won't usually see O(7n3 + 3n2 + 12n + 2), that will be simplified to O(n3).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分析我的程序的时间复杂度 的相关文章

  • Google 文档如何处理编辑冲突?

    我一直在尝试编写自己的 Javascript 编辑器 其功能类似于 Google Docs 允许多人同时使用 我不明白一件事 假设用户 A 和用户 B 直接相互连接 网络延迟为 10 毫秒 我假设编辑器使用 diff 系统 据我了解 Doc
  • 查找文本中所有关键字的有效算法

    我有很多字符串 其中包含许多不同拼写的文本 我通过搜索关键字来标记这些字符串 如果找到关键字 我将使用该关键字的关联文本 假设搜索字符串可以包含文本 schw schwa 和 施瓦茨 我有三个关键字 全部解析为文本 schwarz 现在我正
  • 填充体积算法

    我有一个具有一定尺寸长度 宽度 高度的盒子 我有不同长度 宽度 高度的物品 是否有现有的算法可以确定放入盒子中的最佳物品 这称为装箱 切割库存 背包问题 并且是 NP 难问题 一般来说 您只能通过使用启发式方法获得近似解 请参见示例 htt
  • 简单的排名算法

    我需要创建一个民意调查 按照项目的好坏顺序创建一个排名列表 我打算向每个用户展示两个项目 让他们选择一个他们认为更好的项目 然后多次重复这个过程 它有点类似于您在社交网络电影 我应该如何根据收到的答案对项目进行排名 看着那 这ELO国际象棋
  • 在任意时间范围内找到最佳日/月/年间隔的算法?

    如果您有时间表 请说 March 19 2009 July 15 2011 是否有一种算法可以将该时间范围分解为 March 19 2009 March 31 2009 complete days April 1 2009 December
  • 如何将多边形放入另一个多边形内[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有两个多边形 如下图所示 左边是 粗多边形 右边是 最终多边形 现在 我正在寻找算法来将 最终多边形 拟合到 粗糙多边形 内 并具有
  • 是否有一种算法可以在线性时间内计算数组反转?

    我知道有多少倒转 en wikipedia org wiki Inversion 28discrete mathematics 29 in an n 元素数组可以在 O n log n 操作使用增强型归并排序 http www geeksf
  • 什么是“朴素”算法,什么是“封闭式”解决方案?

    我有一些关于描述算法时使用的术语语义的问题 首先 朴素 算法是什么意思 这与给定问题的其他解决方案有何不同 解决方案还可以采取哪些其他形式 其次 我听到很多人提到 封闭式 解决方案 我也不知道这意味着什么 但在尝试解决递归关系时经常会出现
  • 这个函数(for循环)空间复杂度是O(1)还是O(n)?

    public void check 10 for string i list Integer a hashtable get i if a gt 10 hashtable remove i 这是 O 1 还是 O n 我猜测 O n 但不是
  • 为什么这个算法的Big-O复杂度是O(n^2)?

    我知道这个算法的大O复杂度是O n 2 但我不明白为什么 int sum 0 int i 1 j n n while i lt j sum 即使我们设定了j n n一开始 我们在每次迭代期间递增 i 并递减 j 因此最终的迭代次数不应该比n
  • 颜色逻辑算法

    我们正在构建一个体育应用程序 并希望将团队颜色融入到应用程序的各个部分 现在 每个团队都可以使用几种不同的颜色来表示 我想做的是执行检查以验证两个团队颜色是否在彼此一定的范围内 这样我就不会显示两个相似的颜色 因此 如果团队 1 的主要团队
  • 使用什么算法来确定使系统达到“零”状态所需的最小操作数?

    这是一种更通用的问题 不是特定于语言的 有关要使用的想法和算法的更多信息 系统如下 它登记朋友群体之间的小额贷款 Alice and Bill要去吃午饭 比尔的卡坏了 所以爱丽丝支付了他的餐费 10 美元 第二天Bill and Charl
  • 连接红黑树

    OCaml 标准库有一个很棒的Set使用非常有效的分而治之算法来计算的实现union两套 我相信它会从一组中获取整个子树 而不仅仅是单个元素 并将它们插入到另一组中 并在必要时重新平衡 我想知道这是否需要 OCaml 使用的 AVL 树中保
  • 用于查找最近邻居的空间划分算法如何工作?

    为了找到最近的邻居 空间分区 http en wikipedia org wiki Nearest neighbor search Space partitioning是算法之一 它是如何工作的 假设我有一组 2D 点 x 和 y 坐标 并
  • 当满足动态条件时退出递归函数

    使用来自的函数生成汉明距离 t 内的所有比特序列 https stackoverflow com questions 40813022 generate all sequences of bits within hamming distan
  • String.contains() 的时间复杂度

    String contains 的时间复杂度是多少 假设 n 是与另一个长度为 k 的字符串进行比较的字符串的长度 如果不知道您感兴趣的 String contains 的实际实现 就没有答案 或者你打算使用什么算法 一个完全幼稚的实现可能
  • 颜色变换器功能上的堆栈溢出错误

    我有两种颜色 红色 和 鲑鱼色 我需要动态创建面板以及面板背景颜色 这些颜色必须介于两种颜色之间 红色 public Color x y protected void Page Load object sender EventArgs e
  • 查找字符串中最常见的子字符串的算法

    是否有任何算法可用于查找字符串中最常见的短语 或子字符串 例如 以下字符串将 hello world 作为其最常见的两个单词短语 hello world this is hello world hello world repeats thr
  • Z 算法背后的直觉

    Z算法是一种复杂度为O n 的字符串匹配算法 一种用例是从字符串 B 中查找字符串 A 的最长出现次数 例如 overdose from stackoverflow 将会 over 您可以通过使用组合字符串调用 Z 算法来发现这一点 ove
  • 用于在链表中查找结点的生产代码

    我在一次采访中被问到这个问题 我被要求编写代码 用于在 O 1 空间和线性时间的生产环境中在链表 其形式为 Y 形式 双臂不一定相等 中查找结点 我想出了这个解决方案 我以前在某处见过 1 Measure lengths of both l

随机推荐

  • 按下按钮时加 1

    我的代码很长 所以我只会添加相关的片段 好的 我一直在尝试使用以下代码将标签增加 1 btnComplete setOnAction new EventHandler
  • 字符串到变量名称 MATLAB

    例如 如果我有一个变量 xa 2 然后我通过连接 x 和 a 构造一个字符串 如何使这个新字符串的值为 2 xa 2 var strcat x a 这样的结果是var xa 但我想要的是var 2 谢谢 Use eval var eval
  • 种子 Python RNG 显示集合的非确定性行为

    当尝试从集合中选择伪随机元素时 我看到了非确定性行为 即使 RNG 已播种 示例代码如下所示 为什么会发生这种情况 我是否应该期望其他 Python 数据类型也显示类似的行为 注意 我只在 Python 2 7 上对此进行了测试 但它可以在
  • 在多 GPU 系统中,如何将 OpenCL 设备与给定 PCI 供应商、设备和总线 ID 的特定 GPU 相匹配?

    我希望能够在由 PCI ID 标识的多 GPU 系统上将 OpenCL 设备与系统中的 GPU 进行匹配 例如 如果我的系统具有多个 GPU 可能来自不同的供应商 我可以通过枚举 PCI 总线来列出设备 这为我提供了 PCI 供应商 设备和
  • 什么是 CMAKE_BUILD_TYPE:调试、发布、RelWithDebInfo 和 MinSizeRel?

    来自文档页面 https cmake org cmake help latest variable CMAKE BUILD TYPE html CMAKE BUILD TYPE 指定单配置生成器的构建类型 这静态指定将在此构建树中构建什么构
  • 使用 UrlRewriter.NET 的外部配置文件

    我正在使用网址重写器 NET http urlrewriter net为我的 asp net 网站实现 url 重写的库 目前正在从以下位置读取重写规则web config像这样的文件
  • 想要用java查找两个文本文件的内容差异

    我有两个文本文件 a txt b txt 每个文本文件都包含一些文件路径 b txt包含的文件路径多于a txt 我想确定添加哪些路径以及从中删除哪些路径a txt以便它对应于路径b txt 例如 abc txt 包含 E Users Do
  • 在 OS X Yosemite 上安装 Compass

    我正在尝试使用 GEM 安装指南针 但出现很多错误 我的 MacBook Pro 运行的是 OS X Yosemite 有人有同样的问题吗 感谢您的时间 祝你今天过得愉快 sudo gem install compass Password
  • 从 Gridfs 读取 chunk 并转换为 Buffer

    我有一个关于缓冲区的问题 这是我的代码 var Grid require gridfs stream var mongodb require mongodb var gfs Grid db mongodb var deferred Q de
  • WPF使用Canvas作为ImageSource

    我是 WPF 新手 正在尝试构建一个带有工具栏和图标的基本应用程序 我正在测试 Infragistics 的 XamRibbon 和ButtonTool功能区上显示的要求ImageSource显示这样的图像
  • 将 Microsoft 调试器与 Xamarin Android 结合使用

    Android 项目设置中有一个选项安卓选项部分关于包装选项卡可让您在 Xamarin 调试器或 Microsoft 调试器之间进行选择 Xamarin 调试器可以工作 但不如 Microsoft 的调试器好 不幸的是 当我尝试使用 Mic
  • 格式化掷骰子输出 Java

    我创建了一个代码 用户输入掷骰子的次数 然后程序输出面孔值 每张面孔出现的次数以及每张面孔出现的百分比频率 我必须使用 System out printf 来格式化输出 我的问题是 每当我输入超过 9 的卷时 我的输出格式就会完全丢失 这是
  • Java中HashMap的字面声明[重复]

    这个问题在这里已经有答案了 In JavaScript 您可以声明 a 的所有键和值组合JSON一次性对象如下 var myJSON key1 value 1 key2 value 2 key3 value 3 key4 value 4 k
  • 初学者 URL 重写 htaccess

    我只想重写来自以下位置的所有请求 http example com products product cfm id product name to http example com products product name 其次 http
  • Netbeans 和 MinGW-w64

    我正在尝试在 win7 64 位上配置我的 NetBeans 以与 MinGW w64 一起使用 所以我将编译器的以下路径放入 PATH 变量中 C mingw w64 bin i686 mingw binC minGw MSYS msys
  • 移位和二元按位运算符适用于布尔参数

    Python 文档转移操作 http docs python org 3 3 reference expressions html shifting operations and 二进制按位运算 http docs python org 3
  • 为什么 JVM 参数以“-D”开头?

    为什么我们需要在 JVM 参数前加上前缀 D例如从命令行运行 jar 时 例如 java jar DmyProp Hello World myProgram jar 用于运行myProgram jar与系统参数myProp 那么为什么领先
  • 将值合并到数组中

    我遇到的情况是 我必须手动将标签与值合并 然后存储在数组中 例如aaa 10 bbb 20 ccc 30 这些值来自文本字段 最后我必须以这种格式提供 用逗号分隔 标签是硬编码的 如何创建这样的数组或字符串aaa 10 bbb 20 ccc
  • 安装框架(问题 cURL 错误 6:无法解析主机:cache-proxy)

    我尝试安装 api platform https api platform com docs distribution https api platform com docs distribution 启动后我在日志中看到 api plat
  • 分析我的程序的时间复杂度

    我在确定算法的时间复杂度时遇到问题 for int i 0 i