算法时间复杂度分析

2024-03-31

您好,我正在尝试分析该算法的时间复杂度,但我很难解开并计算最终循环将执行的次数。我意识到第一个循环是 log(n) 但之后我似乎无法得到一个评估良好的总和。这是算法:

for(int i = 1; i <= n; i = 2*i){
    for(int j = 1; j <= i; j = 2*j){
        for(int k = 0; k <= j; k++){
            // Some elementary operation here.
        }
    }
}

我无法计算出循环 k 一般执行了多少次n

谢谢你的帮助!


它开着)。

1 + 2 + 4 + ... + 2^N == 2^(N + 1) - 1。

对于特定的 j,最后一个循环执行 j 次。

对于特定的 i,内部 2 个循环执行 1 + 2 + 4 + ... + i 次,大约等于 2 * i。

所以总的执行时间是 1 * 2 + 2 * 2 + 4 * 2 + ... + N * 2,大约是 4 * N。

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

算法时间复杂度分析 的相关文章

  • 计算字符串的所有子串中子序列的出现次数

    我想编写一个算法来计算字符串的所有子字符串中字符子序列 不相交 出现的总数 下面是一个例子 字符串 jabcohnnyjohnny 后续 约翰尼 包含子序列的子字符串 jabcohnny jabcohnnyj jabcohnnyjo jab
  • R 中带有文件名的 For 循环

    我有一个文件列表 例如 nE pT sbj01 e2 2 csv nE pT sbj02 e2 2 csv nE pT sbj04 e2 2 csv nE pT sbj05 e2 2 csv nE pT sbj09 e2 2 csv nE
  • 定点数学比浮点运算快吗?

    多年前 即 20 世纪 90 年代初期 我构建了图形软件包 该软件包基于定点算术和预先计算的 cos sin 表格以及使用牛顿近似方法进行 sqrt 和对数近似的缩放方程来优化计算 这些先进技术似乎已经成为图形和内置数学处理器的一部分 大约
  • 自动跟踪算法

    我正在尝试写一个simple跟踪例程来跟踪电影中的某些点 本质上我有一系列 100 帧长的电影 在黑暗背景上显示一些亮点 我每帧有大约 100 150 个点 它们在电影的过程中移动 我想跟踪它们 所以我正在寻找一些有效的 但可能不会过度实施
  • java.time DateTimeFormatter 解析具有灵活的后备值

    我正在尝试将一些代码从 joda 时间移植到 java 时间 JodaTime 可以像这样指定年份的后备值 parser withDefaultYear new DateTime DateTimeZone UTC getYear parse
  • 根据javascript中对象数组中的id替换特定对象

    我有一系列像这样的对象 var books id 1 name Name of the wind year 2015 rating 4 5 author 2 现在我有一个函数 editBooks 它要求用户提供 id 并用用户给出的值替换具
  • 分而治之算法找到两个有序元素之间的最大差异

    给定一个整数数组 arr 找出任意两个元素之间的差异 使得较大的元素出现在 arr 中较小的数字之后 Max Difference Max arr x arr y x gt y 例子 如果数组是 2 3 10 6 4 8 1 7 那么返回值
  • 如何为多边形创建内部螺旋?

    对于任何形状 我如何在其内部创建类似形状的螺旋 这与边界 使用 Minkowski 和 类似 尽管它会是相同形状的螺旋 而不是在形状内部创建相同的形状 我找到了这个 http www cis upenn edu cis110 13su le
  • 什么是“朴素”算法,什么是“封闭式”解决方案?

    我有一些关于描述算法时使用的术语语义的问题 首先 朴素 算法是什么意思 这与给定问题的其他解决方案有何不同 解决方案还可以采取哪些其他形式 其次 我听到很多人提到 封闭式 解决方案 我也不知道这意味着什么 但在尝试解决递归关系时经常会出现
  • 如何求两个地点的经纬度距离?

    我有一组位置的纬度和经度 怎么找distance从集合中的一个位置到另一个位置 有公式吗 半正矢公式假定地球是球形的 然而 地球的形状更为复杂 扁球体模型会给出更好的结果 如果需要这样的精度 你应该更好地使用文森特逆公式 See http
  • LRU算法,实现这个算法需要多少位?

    我有一个关于 LRU 算法的小问题 如果您有一个包含四个块的高速缓存 那么需要多少位来实现该算法 假设您指的是 4 路组关联缓存 完美 LRU 本质上是按照使用顺序为每一行分配一个精确的索引 您也可以将其视为 年龄 因此 4 个元素中的每一
  • awk 在循环中使用时不打印任何内容[重复]

    这个问题在这里已经有答案了 我有一堆使用 file 1 a 1 txt 格式的文件 如下所示 A 1 B 2 C 3 D 4 并使用以下命令添加包含每个文件名称的新列 awk print FILENAME NF t 0 file 1 a 1
  • 如何在C中实现带连分数的自然对数?

    这里我有一个小问题 根据这个公式创建一些东西 这就是我所拥有的 但它不起作用 弗兰基 我真的不明白它应该如何工作 我尝试用一 些错误的指令对其进行编码 N 是迭代次数和分数部分 我认为它会以某种方式导致递归 但不知道如何 谢谢你的帮助 do
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 求先递增后递减列表的最大值和最小值

    我尝试用谷歌搜索这个问题 但没有取得太大成功 我确信这个问题或类似问题有一个技术名称 但我似乎找不到答案 给定一个列表L整数 即严格递增 然后严格递减 找到该列表的最大值和最小值 例如 L可能 1 2 3 4 5 4 3 2 or 2 4
  • c# GDI边缘空白检测算法

    我正在寻找解决方案检测边缘空白c 位图 来自 c 托管 GDI 库 图像将是透明的 or white 大多数 400x 图片的尺寸为 8000x8000px 边缘周围有大约 2000px 的空白 找出边缘的最有效方法是什么 x y 高度和宽
  • Javascript 循环内的事件处理程序 - 需要闭包吗?

    我正在使用一些我从别人那里接管的 html 和 Javascript 代码 该页面每十秒重新加载一个数据表 通过异步请求 然后使用一些 DOM 代码重新构建该表 有问题的代码看起来像这样 var blah xmlres getElement
  • 连接红黑树

    OCaml 标准库有一个很棒的Set使用非常有效的分而治之算法来计算的实现union两套 我相信它会从一组中获取整个子树 而不仅仅是单个元素 并将它们插入到另一组中 并在必要时重新平衡 我想知道这是否需要 OCaml 使用的 AVL 树中保
  • 计算序列而无法存储值?

    问题陈述 here http www spoj com problems EC SER 令 S 为无限整数序列 S0 a S1 b Si Si 2 Si 1 对于所有 i gt 2 你有两个整数 a 和 b 您必须回答有关序列中第 n 个元

随机推荐

  • 无法使用 R 的 leaflet 包循环生成多个地图

    这是新来的 对 R 来说也相对较新 所以请原谅 apriori 并让我知道我在这篇文章中做错了什么 以避免将来烦扰其他人 我正在尝试创建传单地图序列 1971 年 9 月至 1972 年 4 月 最后 我想将它们压缩成闪亮的 并让用户播放
  • chrome.storage.local.set 使用变量键名

    在 Google Chrome 扩展中 我想使用chrome storage local http code google com chrome extensions storage html property local 与 localS
  • Xcode 7.2.1 的问题

    刚刚安装新版本的Xcode 7 2 1 他花了比预期更长的时间 但是当它完成并运行时 xcode 继续使用版本 7 1 1 我以为重启Mac就可以解决这个问题 但是没有 知道可以花什么吗 或者碰巧我已经完成了 EDITED 我的MAC版本
  • 如何修复从底部切掉的字体?

    我在应用程序中有自定义字体 我正在使用它Text如下 struct CustomButton View var label String var action gt Void init label String action escapin
  • Windows Phone Soap/添加 Web 参考问题

    我有一个 SOAP 由 Java 提供支持 服务 我正在尝试连接到 WP7 使用Add gt Service Reference生成代理客户端 但不幸的是 删除了 WP7 和 完整 NET 4 上方法的所有参数 使用 slsvcutil e
  • 原始计算器 - 动态方法

    我在获得以下问题的正确解决方案时遇到一些困难 你的目标是一个正整数n 找到最少的数量 从数字 1 开始获取数字 n 所需的操作 更具体地说 我在下面的评论中有测试用例 Failed case 3 16 Wrong answer got 15
  • 如何连接故事板中的原型单元?

    我在故事板中创建了一个表格视图 以及一个自定义原型单元 我已经在情节提要中设置了单元格标识符 并尝试将其出队并得到 无法使具有标识符 TTEntry 的单元出列 必须为标识符注册笔尖或类 或者连接故事板中的原型单元 我在情节提要 Table
  • 使用 python pty 伪终端进程发送命令并退出

    使用 python pty 模块 我想使用 stdin 函数 如 pty 模块想要的那样 向终端模拟器发送一些命令 然后强制退出 我想到了类似的事情 import pty cmnds exit n ls al n Command to se
  • Sun 的 bug 数据库中的 Java 版本名称

    In https bugs java com bugdatabase view bug bug id 6525150 https bugs java com bugdatabase view bug bug id 6525150它说 发布修
  • 如何在java中实现高效的超时

    有n执行某些操作的对象 执行操作后 时间戳将会更新 现在我想实现一个超时线程 它验证时间戳是否早于 60 秒 我的第一个解决方案是使用一个线程 while loop sleep 来做到这一点 该线程保存一个包含所有对象 包括最后一个时间戳
  • 使用 Visual Studio 创建大小为 100 字节的 C 程序

    我想编写一个 C 应用程序 该程序在构建时将创建一个大小为 100 字节或更小的可执行文件 即使我创建一个简单的 C 程序 其中只有一个空的main 我的输出文件在 Visual Studio 2015 上变成 11KB 有没有办法告诉 V
  • 在目录和子目录中搜索文件中的模式

    在Linux中 我想搜索给定目录及其子文件夹 文件以查找某些包含和排除模式 find apps exec grep performance v warn dev null 这与搜索所经过的大量行相呼应 我不想这样 我想找到包含性能但不包含警
  • 为什么这个 Jinja nl2br 过滤器会转义
    而不是

    我正在尝试实施this http flask pocoo org snippets 28 Jinja nl2br筛选 它工作正常 除了 br 是不是广告被转义了 这对我来说很奇怪 因为 p 没有被转义并且它们都在同一个字符串中 我正在使用烧
  • 可以将 std::numeric_limits 专门用于用户定义的类似数字的类吗?

    的文档std numeric limits
  • PHP 忽略 php.ini 中的curl.cainfo 设置(显然)

    我正在尝试修复 Windows 服务器 运行 IIS 上的 php curl 调用 该调用返回熟悉的错误 SSL 证书问题 请验证 CA 证书是否正常 详细信息 错误 14090086 SSL 例程 SSL3 GET SERVER CERT
  • 如何在 Apps 脚本中设置表格的水平对齐方式

    我无法找到使用 Google Apps 脚本水平对齐 Google 文档中表格的方法 我彻底检查了所有文档 也盲目地尝试了几种方法 尝试一 var cells Company rowData 3 Title rowData 4 var ta
  • 循环展开优化,它是如何工作的

    考虑这个 C 代码 int sum 0 for int i 0 i lt 5 i sum i 这可以用 伪 汇编方式翻译 无需循环展开 pseudo code assembly ADDI R10 0 sum ADDI R11 0 i LOO
  • 自动提供数据库中的唯一ID

    在我的项目中 我需要注册一位捐赠者 我需要用户输入他的信息 系统会注册他并为捐赠者生成一个唯一的 ID 制作一个带有字段ID的表 该表具有索引并且具有自动递增功能 CREATE TABLE Persons ID int NOT NULL A
  • 如何尾部除第一行之外的所有行[重复]

    这个问题在这里已经有答案了 例如 我有一个文件 1 2 3 然后我想从第二行输出到尾部 我怎样才能在linux下做到这一点 tail n 2 my file 将输出所有行myfile从第 2 行开始 n2会显示最后两行 tail有很多更多的
  • 算法时间复杂度分析

    您好 我正在尝试分析该算法的时间复杂度 但我很难解开并计算最终循环将执行的次数 我意识到第一个循环是 log n 但之后我似乎无法得到一个评估良好的总和 这是算法 for int i 1 i lt n i 2 i for int j 1 j