迭代 std::set/std::map 的时间复杂度是多少?

2024-01-05

迭代一次的时间复杂度是多少std::set/std::multiset/std::map/std::multimap?我相信它与集合/地图的大小是线性的,但不太确定。语言标准中有规定吗?


在C++11工作草案中,可以找到答案[迭代器.要求.一般] p8 https://timsong-cpp.github.io/cppwp/n3337/iterator.requirements.general#8:

所有类别的迭代器只需要那些函数 对于给定类别可以在恒定时间内实现(摊销)。

由于迭代器上的每个操作都必须是恒定时间,因此迭代n元素必须是O(n).

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

迭代 std::set/std::map 的时间复杂度是多少? 的相关文章

  • 将处理后的图形绘制到另一个图形中

    我想将一个经过处理的图形绘制到另一个图形中 I have two graphics var gHead Graphics FromImage h var gBackground Graphics FromImage b Transform
  • 当我单击 C# 中的“取消”按钮时重定向到新页面(Web 部分)

    Cancel button tc new TableCell btnCancel new Button btnCancel Text Cancel btnCancel Click new EventHandler btnCanel Clic
  • 通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信

    通信对象System ServiceModel Channels ServiceChannel 无法用于通信 因为它处于故障状态 这个错误到底是什么意思 我该如何解决它 您收到此错误是因为您让服务器端发生 NET 异常 并且您没有捕获并处理
  • 为什么 BOOST_FOREACH 不完全等同于手工编码的?

    From 增强文档 http www boost org doc libs 1 48 0 doc html foreach html foreach introduction what is literal boost foreach li
  • VS30063:您无权访问 https://dev.azure.com

    我正在尝试在 asp net core 2 1 mvc 应用程序中使用以下代码连接 Azure DevOps Uri orgUrl new Uri https dev azure com xxxxx String personalAcces
  • C++11 函数局部静态 const 对象的线程安全初始化

    这个问题已在 C 98 上下文中提出 并在该上下文中得到回答 但没有明确说明有关 C 11 的内容 const some type create const thingy lock my lock some mutex static con
  • 转到 C# WPF 中的第一页

    我正在 WPF 中使用导航服务 为了导航到页面 我使用 this NavigationService Navigate new MyPage 为了返回我使用 this NavigationService GoBack 但是如何在不使用的情况
  • 单元测试失败,异常代码为 c0000005

    我正在尝试使用本机单元测试项目在 Visual Studios 2012 中创建单元测试 这是我的测试 TEST METHOD CalculationsRoundTests int result Calculations Round 1 0
  • 为什么 FTPWebRequest 或 WebRequest 通常不接受 /../ 路径?

    我正在尝试从 ftp Web 服务器自动执行一些上传 下载任务 当我通过客户端甚至通过 Firefox 连接到服务器时 为了访问我的目录 我必须指定如下路径 ftp ftpserver com AB00000 incoming files
  • “MyClass”的类型初始值设定项引发异常

    以下是我的Windows服务代码 当我调试代码时 我收到错误 异常 CSMessageUtility CSDetails 的类型初始值设定项引发异常 using System using System Collections Generic
  • JavaScript 数组扩展语法的时间复杂度是多少?

    我想知道在 JavaScript 中使用数组扩展的时间复杂度是多少 是线性 O n 还是常数 O 1 下面的语法示例 let lar Math max nums 传播称为 Symbol iterator 有关对象的属性 对于数组 这将迭代数
  • UWP 无法在两个应用程序之间创建本地主机连接

    我正在尝试在两个 UWP 应用程序之间设置 TCP 连接 当服务器和客户端在同一个应用程序中运行时 它可以正常工作 但是 当我将服务器部分移动到一个应用程序并将客户端部分移动到另一个应用程序时 ConnectAsync 会引发异常 服务器未
  • 过期时自动重新填充缓存

    我当前缓存方法调用的结果 缓存代码遵循标准模式 如果存在 则使用缓存中的项目 否则计算结果 在返回之前将其缓存以供将来调用 我想保护客户端代码免受缓存未命中的影响 例如 当项目过期时 我正在考虑生成一个线程来等待缓存对象的生命周期 然后运行
  • 32位PPC rlwinm指令

    我在理解上有点困难rlwinmPPC 汇编指令 旋转左字立即然后与掩码 我正在尝试反转函数的这一部分 rlwinm r3 r3 0 28 28 我已经知道什么了r3 is r3在本例中是一个 4 字节整数 但我不确定这条指令到底是什么rlw
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • Fluent NHibernate 日期时间 UTC

    我想创建一个流畅的 nhibernate 映射来通过以下方式映射 DateTime 字段 保存时 保存 UTC 值 读取时 调整为本地时区值 实现此映射的最佳方法是什么 就我个人而言 我会将日期存储在 UTC 格式的对象中 然后在读 写时在
  • 同时从多个流中捕获、最佳方法以及如何减少 CPU 使用率

    我目前正在编写一个应用程序 该应用程序将捕获大量 RTSP 流 在我的例子中为 12 个 并将其显示在 QT 小部件上 当我超过大约 6 7 个流时 问题就会出现 CPU 使用率激增并且出现明显的卡顿 我认为它不是 QT 绘制函数的原因是因
  • 过度使用委托对性能来说是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 考虑以下代码 if IsDebuggingEnabled instance Log GetDetailedDebugInfo GetDetailedDebugInfo 可能是一个昂贵的方法 因此我们只想在调试模式
  • Azure函数版本2.0-应用程序blobTrigger不工作

    我有一个工作功能应用程序 它有一个 blob 输入和一个事件中心输出 在测试版中工作 随着最新的更改 我的功能不再起作用 我尝试根据发行说明更新 host json 文件 但它没有引用 blob 触发器 version 2 0 extens
  • 从类模板参数为 asm 生成唯一的字符串文字

    我有一个非常特殊的情况 我需要为类模板中声明的变量生成唯一的汇编程序名称 我需要该名称对于类模板的每个实例都是唯一的 并且我需要将其传递给asm关键字 see here https gcc gnu org onlinedocs gcc 12

随机推荐

  • 如何跟踪 Node.js 中的(更改的)日志文件

    好吧 这似乎是一个简单的问题 但我无法从这里找到答案 因此我将其发布 希望有人可能遇到类似的问题 我需要监视指向 Web 服务器文件的符号链接 var log lighttpd error log更具体地说 感谢莱纳斯 G 蒂尔 https
  • WebElement.getCssValue 和 WebElement.getAttribute 用法

    任何人都可以帮助我了解如何使用这两个函数来获取任何 CSS 属性的值 如果有一个特定的 img 标签如下 img title Title alt myTitle src A B C xyz png driver getElement By
  • 在 QT 项目中使用 Crypto++ 静态库

    我已经在我的系统上静态构建了 cryptopp 它也通过了所有测试 这些是我在测试期间收到的警告 WARNING CRYPTOPP NO UNALIGNED DATA ACCESS is not defined in config h WA
  • 如何使用 Chrome 的调试器协议从时间戳导出 walltime?

    我一直在构建一个 Chrome 扩展程序 部分使用Chrome 调试器协议 https chromedevtools github io debugger protocol viewer 中的某些事件网络域 https chromedevt
  • 在 Xcode 中构建时添加变量

    我有一些动态值需要根据我在 Xcode 中进行的构建类型进行更改 我创建了2个方案DEV and PROD并在每个中设置环境变量 然后我在代码中使用它们 如下所示 var serviceDomain String let envVar Pr
  • 什么时候应该使用Task.Run()而不是await?

    我正在存储数据模型的状态 我克隆数据模型 然后希望将其异步写入 磁盘 我应该使用 Task Run 在后台线程上运行它吗 或者我应该将其设为异步函数而不是等待它 这将使其在 UI 线程上运行 与此类似 但我的问题有点不同 异步任务 使用 M
  • Android 使元素仅出现在纵向视图中

    我有一个支持广告的应用程序 因此 当屏幕旋转时 广告仍然存在 我希望能够使广告仅在手机处于纵向而不是横向时存在 我是否需要声明一个单独的景观 xml 或者是否有其他方法可以做到这一点 如果我需要声明一个横向 xml 我该如何在 java 中
  • C# 中的队列实现

    我正在处理一次只能处理 1 个命令的硬件资源 我将通过 Web 界面公开它的一些 API 函数 因此显然一次很有可能发送超过 1 个命令 我决定在提交这些命令时对其进行排队是确保串行处理的最佳方法 我计划在静态类中实现队列 Web 应用程序
  • Intellij Idea 日志 GradleConnectionException:构建时无法使用 Gradle 安装执行构建

    我使用 Intellij Idea 13 1 1 在构建时遇到 GradleConnectionException Error org gradle tooling GradleConnectionException Could not e
  • pty 和 tty 是什么意思?

    我注意到很多提到pty and tty在一些开源项目中 有人可以告诉我它们是什么意思以及它们之间有什么区别吗 tty原本的意思是 电传打字机 and pty means 伪电传打字机 在 UNIX 中 dev tty 是任何像 电传打字机
  • 为什么迭代 std::array 比迭代 std::vector 快得多?

    编者注 启用优化的后续问题仅对循环进行计时 为什么迭代 std vector 比迭代 std array 更快 https stackoverflow com questions 57125253 why is iterating thou
  • CSS 列表项宽度/高度不起作用

    我尝试制作一个导航内联列表 你可以在这里找到它 http www luukratief design nl dump parallax para html http www luukratief design nl dump paralla
  • 如何在 Vim 中将每行的前两个大写字符更改为小写?

    我有以下文字 HELLO TO STACKOVERFLOW WELCOME TO STACKOVERFLOW 我希望将文本更改如下 heLLO TO STACKOVERFLOW weLCOME TO STACKOVERFLOW 我怎样才能在
  • Marshal.StructureToPtr 在模块 ntdll.dll 中失败

    我将从一点历史 我目前面临的问题是突然出现的 没有对代码进行任何更改 3天后又以同样的方式消失 现在它一周后就回来了并且不想消失 I have 适用于打印机的代码 设置打印机首选项以指定方式打印文档 我使用本地打印机 它指向网络打印机的 T
  • 如何通过 GitHub API 获取 dependentabot 警报列表?

    我如何获取可用的 dependentabot 警报列表通过 GitHub API 我搜遍了文档 https docs github com en rest但在那里找不到任何东西 Thanks 有这个存储库漏洞警报 https docs gi
  • 组合两个聚合源

    有什么简单的组合方法feed and feed2 我想要的物品来自feed2要添加到feed 我也想避免重复feed当问题同时使用 WPF 和 Silverlight 标记时 可能已经有项目 Uri feedUri new Uri http
  • php+curl无法设置post方法

    我尝试使用 php 和curl 发出发布请求 这是我的代码 PHP 5 3 5 and curl 7 18 2 ch curl init if empty save cookie curl setopt ch CURLOPT COOKIEJ
  • Vuetify 多个 v-select 所需规则不起作用

    重现步骤 如果它的多个选择所需的规则不起作用 如果它不是多个也可以 预期行为 规则也适用于多重选择 实际行为 如果是多重选择 则规则不起作用 复制代码 div div
  • Json.NET - 控制类对象属性反序列化

    我有一个模特班Link它是用 JSON Net 反序列化的 public class Link JsonConstructor internal Link int id Id id public int Id get internal se
  • 迭代 std::set/std::map 的时间复杂度是多少?

    迭代一次的时间复杂度是多少std set std multiset std map std multimap 我相信它与集合 地图的大小是线性的 但不太确定 语言标准中有规定吗 在C 11工作草案中 可以找到答案 迭代器 要求 一般 p8