使用 O 表示法在 for 循环中对 LinkedList 调用 get() 的复杂性

2023-11-27

我有一个 uni 实用程序,可以使用 O() 表示法确定一小部分代码的复杂性。

代码是:

for (int i = 0; i < list.size(); i++)
    System.out.println(list.get(i));

所讨论的列表是一个链接列表。对于我们的实践,我们得到了一个现成的 LinkedList 类,尽管我们必须编写自己的size() and get()方法。

这个问题让我困惑的是最终计算中应该算什么。问题问:

如果列表中有 100 个元素,它会进行多少次查找?在此基础上,使用 O() 表示法计算程序的复杂度。

如果我只是数get()方法,它将平均进行 n/2 次查找,从而产生 O(n) 的大 O 表示法。然而,for循环的每次迭代都需要重新计算size(),这涉及到查找(以确定链表中有多少个节点)。

在计算这段代码的复杂度时,是否应该考虑到这一点?或者计算大小不算是查找?


I might be bit late to answer, but I think this for loop would actually be O(n^2)

解释

每次循环迭代您都将访问列表的第 i 个索引。因此,您的调用顺序将是:

sequence

这是因为每次迭代i递增,并且您正在循环n times.

因此,可以使用以下总和来评估方法调用的总数:

enter image description here

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

使用 O 表示法在 for 循环中对 LinkedList 调用 get() 的复杂性 的相关文章

  • 在 Java 中捕获(捕获)窗口中的鼠标光标

    我正在寻找一种方法 在鼠标进入窗口后捕获或捕获该窗口中的鼠标 就像鼠标被捕获在虚拟机窗口中一样 直到用户按 CTRL ALT DEL 或以其他方式释放鼠标 我如何在 Java 中实现这一点 全屏显示不是一个选择 EDIT 这里有一些 SSC
  • Android Toast 消息不起作用

    我正在通过 Andengine 为 Android 开发游戏 我有 MainActivity 类和 GameScene 类 我在 GameActivity 中使用 Toast 消息 它正在发挥作用 Toast makeText this H
  • 将处理项目移至 Eclipse

    我已经在处理项目上工作了一段时间 现在想将其移至 Eclipse 中 我已经在 Eclipse 环境中安装了 Proclipse 我有很多扩展名为 pde 的文件 然而 Proclipse 文件都以 java 结尾 所有 pde 文件都存在
  • Java,顺序流在哪个线程中执行?

    在阅读有关流的文档时 我遇到了以下句子 attempting to access mutable state from behavioral parameters presents you with a bad choice if you
  • 如何从 Java 访问 Windows 设备管理器中的信息?

    我有一个串行 USB 设备 并且其中多个设备可以连接到计算机 我需要查询和检索设备连接到的 COM 端口列表 在 Windows 设备管理器中 您可以获得当前连接的设备的 COM 端口 友好名称 该列表是动态的 从注册表中读取不工作 htt
  • 未注入带有 JPA2 的 Apache Ignite 2.7 IgniteRepository

    使用在 Web 上建立的 guildes 我使用 Spring Data JPA 2 应用程序制作了简单的 Spring Boot 2 仅在 2 7 版本中才向 Apache Ignite 添加了 Spring Boot JPA 2 支持
  • Maven WebApp META-INF context.xml

    我正在使用 Maven 3 并且尝试在 webapp 文件夹下添加 META INF 文件夹 所以我正在尝试执行以下操作 src main webapp META INF context xml WEB INF 下面是我的 POM 文件
  • Spring HATEOAS 和 HAL:更改 _embedded 中的数组名称

    我正在尝试使用 Spring HATEOAS 构建符合 HAL 的 REST API 经过一番摆弄后我终于开始工作了mostly正如预期的那样 示例 输出现在看起来像这样 links self href http localhost 808
  • 在拇指上方显示修改后的 JSlider 值

    有没有一种简单的方法可以在使用某些 外观和感觉 的同时更改 JSlider 上方标签中显示的值 为了清楚起见 我正在谈论这个值 具体来说 我想显示除以 1000 的值而不是值本身 我知道如果我显示它们 我可以为刻度设置标签 但用户将不得不猜
  • 膨胀类 android.support.design.widget.NavigationView 时出错

    我按照 NavigationView 的教程进行操作 但无法解决此错误消息 Error inflating class android support design widget NavigationView 教程链接 https www
  • 在Java中如何将字节数组转换为十六进制?

    我有一个字节数组 我希望该数组的每个字节字符串转换为其相应的十六进制值 Java中有没有将字节数组转换为十六进制的函数 byte bytes 1 0 1 2 3 StringBuilder sb new StringBuilder for
  • ActiveMQ JNDI 查找问题

    尝试使用 JNDI 运行以下 ActiveMQ http activemq apache org jndi support html http ActiveMQ 20JNDI 并且我的 jboss server node lib 文件夹中有
  • 无法连接到docker中的elasticsearch容器

    我正在尝试使用 docker 的官方 elasticsearch 镜像 我遵循了本指南 https www elastic co guide en elasticsearch reference current docker html但是当
  • Proguard 正在破坏我的清洁度。 Gson 和泛型

    我有一个从持久性加载信息的函数 我只是以一种非常简单的方式告诉它的类型 该类称为SharedPreferencesHelper kt所以它是一个真正的生活问题解决者 fun
  • Java 中序列化的目的是什么?

    我读过很多关于序列化的文章 以及它如何如此美好和伟大 但没有一个论点足够令人信服 我想知道是否有人能真正告诉我通过序列化一个类我们真正可以实现什么 让我们先定义序列化 然后我们才能讨论它为什么如此有用 序列化只是将现有对象转换为字节数组 该
  • Java时区混乱

    我正在运行 Tomcat 应用程序 并且需要显示一些时间值 不幸的是 时间快到了 还有一个小时的休息时间 我调查了一下 发现我的默认时区被设置为 sun util calendar ZoneInfo id GMT 08 00 offset
  • com.sun.xml.ws.message.saaj.SAAJHeader 无法转换为 com.sun.xml.ws.security.opt.impl.outgoing.SecurityHeader

    我正在尝试访问第三方 Web 服务 该服务要求我创建一个传递时间信息 用户名和密码的安全标头 我在网上搜索了可行的示例 并尝试了多种方法 我正在尝试使用 Java 6 中内置的内容来做到这一点 我不确定我做错了什么 从 WSDL 生成 We
  • Unicode(希腊语)字符存储在数据库中,例如“??????”

    数据库中的希腊字符就像问号 我找不到解决办法 我使用 Java Swing 开发了一个应用程序 但是当我在 MySQL 中插入希腊字母时 就像问号一样 我将数据库排序规则更改为 utf8 并将列也更改为 utf8 我的项目编码设置为UTF
  • Android ClassNotFoundException:在路径上找不到类

    10 22 15 29 40 897 E AndroidRuntime 2561 FATAL EXCEPTION main 10 22 15 29 40 897 E AndroidRuntime 2561 java lang Runtime
  • 如何使用socket.io发送图像文件(二进制数据)?

    我无法从以下位置发送数据Android Client to NodeJS Server I use Socket IO 客户端 https github com socketio socket io client java我的客户端中的ja

随机推荐

  • 通过SDK获取iPhone WiFi信息

    有没有办法使用iPhone SDK获取WiFi信息 信号强度 WiFi 频道和 SSID 等是我要寻找的主要内容 只对 Wifi 信息感兴趣 对蜂窝信息不感兴趣 根据this从 iOS 4 1 开始这实际上是可能的 该函数称为 CNCopy
  • 使用 C# 关闭打开的文件

    我遇到过一种情况 人们连接到共享上的文件 并且它阻止我覆盖该文件 我正在尝试编写一个方法 该方法将查看我提供的文件路径当前是否以这种方式锁定并关闭该资源的网络会话 我查看了 ADSI Winnt 提供程序 但 Resources Remov
  • 如何将参数传递给DbContext.Database.ExecuteSqlCommand方法?

    假设我有在实体框架中直接执行 sql 命令的有效需求 我无法弄清楚如何在 sql 语句中使用参数 以下示例 不是我的真实示例 不起作用 var firstName John var id 12 var sql Update User SET
  • 使用 matplotlib fill_ Between 在两条极曲线之间填充

    我有一种感觉 我会用这个来敲打我的额头 但我正在努力填补这个问题普通内饰两个极函数的r 4 sin 2 and r 2 看来我得到的与我想要的相反 有任何想法吗 import numpy as np import matplotlib py
  • 在 Android 中使用 DownloadManager 从标头获取文件名

    我正在使用 DownloadManager 从 url 下载视频文件 问题是 如果我使用默认文件夹下载文件 我无法在图库中看到视频 另外 如果我尝试使用这种方法 request setDestinationInExternalPublicD
  • 从 Python-Docx 中的单元格中删除段落

    我正在尝试创建一个具有两行标题的表格 该表格对所有样式使用简单的模板格式 两行标题是必需的 因为我在两个主要类别下有相同的标题 看来 在 Word 中处理此问题的唯一方法是 将一个两行表嵌套到主内容表的标题行中 以便文档能够格式化并在页面之
  • 具有行跨度和列跨度的自定义网格视图

    i am trying to implement a grid view which has the Graphical view as follows I have gone through various blogs and S O q
  • 初始化块中的“this”关键字是什么意思? [复制]

    这个问题在这里已经有答案了 这是我的代码 class StaticBlock println initializer block message public StaticBlock String message this message
  • Java中的异常与继承

    假设我们有这个问题 public class Father public void method1 public class Child1 extends Father public void method1 throws Exceptio
  • 替换 contenteditable div 中选定的文本

    我一直在寻找答案 但失败了 是否有跨浏览器解决方案来替换所选文本内容可编辑 div 我只是希望用户突出显示一些文本并将突出显示的文本替换为xxxxx 以下内容将在所有主要浏览器中完成这项工作 function replaceSelected
  • 存储 ENUM 值的 PostgreSQL 数组

    我有一个可以有状态的表 statuses unmoderated nominee finalist winner status db Enum statuses name enum nomination status metadata db
  • 如何使用Web API限制DOS攻击

    我计划使用 MVC4 和 Web APi 开发一个网站 它是一个简单的应用程序 将根据搜索显示客户信息 对于搜索功能 我使用 Ajax get 方法调用 webApi 我知道我应该使用 Post 但考虑这是当前的实现 我的 API 调用是
  • JOIN ON 子句中的 T-SQL Case 语句

    我正在尝试在 a 中构建一个 case if 语句JOIN ON clause LEFT JOIN CTSTRC Statuses ON RIGHT Statuses STRID 3 CTE F61 问题是该列 Statuses STRID
  • PHP dirname 返回符号链接路径

    假设我有一个符号链接 one directory to two directory If I echo dirname dirname FILE 它返回 one directory 最好的退货方式是什么 two directory 用法示例
  • 不使用 nightly 时如何忽略基准测试?

    我有一个包含一些基准测试和测试的文件 想针对稳定版 测试版和夜间版进行测试 然而 要么我不使用基准测试 要么稳定 测试版抱怨 使用 stable beta 时有没有办法隐藏所有基准部分 作为示例 以下代码来自book feature tes
  • 如何在 Windows 上从 pygraphviz 运行 neato

    我正在尝试在 python v 2 7 中使用 pygraphviz 和 networkx 来创建网络映射 我在 stackoverflow 上发现了一个看起来非常有用的脚本 import networkx as nx import num
  • GDB TUI - 输出未对齐

    我在ubuntu上使用gdb 7 7 1 GNU gdb Ubuntu 7 7 1 0ubuntu5 14 04 2 7 7 1 我的终端是 Konsole 2 13 2 我遇到的问题是 当我进入 TUI 模式时 在一两个调试器会话之后 会
  • 设置请求持续时间的全局变量

    我可以为单个请求的长度设置某种全局变量 以便页面的所有控件都可以响应它 而不必将其传递给每个控件吗 例如 如果有人点击我的 MasterPage 上的 保存 按钮 我是否可以设置一些内容 以便我的页面上的每个 UserControl 都可以
  • Future.wait() 不能在没有纤程的情况下等待(在 Meteor.method 中等待另一个 future 时)

    In Meteor 我正在编写一个方法 该方法必须检查某个路径的子目录中是否有新文件 我首先想列出其中的子目录Meteor之后我child process exec一个简单的 bash 脚本 列出自上次执行以来添加的文件 我在使目录发现异步
  • 使用 O 表示法在 for 循环中对 LinkedList 调用 get() 的复杂性

    我有一个 uni 实用程序 可以使用 O 表示法确定一小部分代码的复杂性 代码是 for int i 0 i lt list size i System out println list get i 所讨论的列表是一个链接列表 对于我们的实