C++自由实现“有界优先级队列”

2023-12-31

我正在寻找一个免费软件实现有界优先级队列C++ 中的抽象。基本上,我需要一个数据结构,其行为就像std::priority_queue但始终保持着“最好的”n最多元素。

Example:

std::vector<int> items; // many many input items
bounded_priority_queue<int> smallest_items(5);
for(vector<int>::const_iterator it=items.begin(); it!=items.end(); it++) {
  smallest_items.push(*it);
}
// now smallest_items holds the 5 smallest integers from the input vector

有谁知道这样的事情有一个好的实施吗?有这方面的经验吗?


我认为中讨论的算法这个线程 https://stackoverflow.com/questions/2933758/priority-queue-with-limited-space-looking-for-a-good-algorithm可能就是您正在寻找的。如果您想抢占先机,您可能需要考虑构建 Boost 的实现d_ary_heap_indirect这是 Boost.Graph 的一部分(在d_ary_heap.hpp)。如果你做得很好,你可以将它提交给 Boost。它可以做一个很好的补充,因为这样的实现肯定有很多用途。

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

C++自由实现“有界优先级队列” 的相关文章

  • 用于代数简化和求解的 C# 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 网络上有很多代数求解器和简化器 例如 algebra com 上不错的代数求解器和简化器 然而 我正在
  • 使用 std::packaged_task/std::exception_ptr 时,线程清理程序报告数据争用

    我遇到了线程清理程序 TSan 的一些问题 抱怨某些生产代码中的数据争用 其中 std packaged task 通过将它们包装在 std function 中而移交给调度程序线程 对于这个问题 我简化了它在生产中的作用 同时触发 TSa
  • 注销租约抛出 InvalidOperationException

    我有一个使用插件的应用程序 我在另一个应用程序域中加载插件 我使用 RemoteHandle 类http www pocketsilicon com post Things That Make My Life Hell Part 1 App
  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • 单个对象的 Monogame XNA 变换矩阵?

    我读过一些解释 XNA Monogame 变换矩阵的教程 问题是这些矩阵应用于 SpriteBatch Begin matrix 这意味着所有 Draw 代码都将被转换 如何将变换矩阵应用于单个可绘制对象 就我而言 我想转换滚动背景 使其自
  • 由 IHttpClientFactory 注入时模拟 HttpClient 处理程序

    我创建了一个自定义库 它会自动为依赖于特定服务的 Polly 策略设置HttpClient 这是使用以下方法完成的IServiceCollection扩展方法和类型化客户端方法 一个简化的例子 public static IHttpClie
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • 在一个平台上,对于所有数据类型,所有数据指针的大小是否相同? [复制]

    这个问题在这里已经有答案了 Are char int long 甚至long long 大小相同 在给定平台上 不能保证它们的大小相同 尽管在我有使用经验的平台上它们通常是相同的 C 2011 在线草稿 http www open std
  • 具有交替类型的可变参数模板参数包

    我想知道是否可以使用参数包捕获交替参数模式 例如 template
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • 如何检测表单的任何控件的变化?

    如何检测 C 中表单的任何控件的更改 由于我在一个表单上有许多控件 并且如果表单中的任何控件值发生更改 我需要禁用按钮 我正在寻找一些内置函数 事件处理程序 属性 并且不想为此创建自定义函数 不 我不知道任何时候都会触发任何事件any控制表
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • 如何在非控制台应用程序中查看 cout 输出?

    输出到调试窗口似乎相当繁琐 我在哪里可以找到cout如果我正在编写非控制台信息 则输出 Like double i a b cout lt lt b lt lt endl I want to check out whether b is z
  • 使用 %d 打印 unsigned long long

    为什么我打印以下内容时得到 1 unsigned long long int largestIntegerInC 18446744073709551615LL printf largestIntegerInC d n largestInte
  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装
  • System.IO.FileNotFoundException:找不到网络路径。在 Windows 7 上使用 DirectoryEntry 对象时出现异常

    我正在尝试使用 DirectoryEntry 对象连接到远程 Windows 7 计算机 这是我的代码 DirectoryEntry obDirEntry new DirectoryEntry WinNT hostName hostName
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock

随机推荐

  • react-native-image-picker launchCamera 在 android 中不起作用

    我在用着 react native image picker 3 0 1 在本机反应中捕获图像 但我在 android 9 中打开相机时出错 我收到错误 errorCode others errorMessage This library
  • SQL合并语句

    我正在尝试使用 SQL Server 2008 中新的 MERGE 语句 该语句将从临时表中获取记录 并在其他表中更新相同的记录 该语句如下 create table TempTable ProcPOAmdDel ProcessAmendm
  • Ionic:管理多个 iOS 版本

    我有一个离子应用程序 用于为不同组织构建同一应用程序的多个版本 gulp 脚本为我交换了所有的 asset config xml 这对于 Android 来说效果很好 因为我在签名时将 apk 输出到单独的文件夹中 但我不确定如何在 iOS
  • 为什么枚举常量必须在枚举类型中的任何其他变量和方法声明之前声明?

    如果我在声明枚举常量之前或没有以这种方式声明变量 enum MyEnum int i 90 它显示以下编译错误 MyEnum java 3
  • Android向项目添加外部库

    我有一个项目 我想添加外部库 并将它们与应用程序打包在一起 但我不确定它是否发生 我在这个链接上读到 https developer android com guide appendix faq commontasks html https
  • NSPopUpButton、NSComboBox 类似菜单

    我正在尝试创建一个带有下拉菜单的菜单 每个单元格都有自定义背景 首先 我尝试改编 NSPopUpButton 但我找不到更改单元格背景图像的方法 使用 setImage 会将文本滑动到背景的右侧 接下来我停在 NSComboBox 但我找不
  • 如何将 rune 转换为 unicode-style-string,如 Golang 中的 `\u554a`?

    如果你跑fmt Println u554a 显示 啊 但是如何获取 unicode style string u554a来自符文 啊 package main import fmt import strconv func main quot
  • “MKS 源完整性”有责备/注释吗?

    我正在通过 MKS Source Integrity 专有的 VCS MKS Integrity 的前身 访问 Windows 上控制的一些源代码 如何找出源代码的特定行最后更改的版本 根据 VCS 该功能被称为 责备 或 注释 更新 20
  • 将列值从 VARCHAR(n) 转换为 DECIMAL 时出现问题

    我有一个 SQL Server 2000 数据库 其中有一列类型为 VARCHAR 255 所有数据要么为 NULL 要么为最多两点精度的数字数据 例如 11 85 我尝试运行以下 T SQL 查询 但收到错误 将数据类型 varchar
  • 机器人在网格中移动

    机器人位于 4x4 网格的左上角 机器人可以上下左右移动 但不能两次访问同一地点 机器人正在尝试到达网格的右下角 它可以到达网格右下角的方法有多少种 现在我知道 如果机器人只能向下或向右移动 那么答案将是 8C4 因为它必须以任何顺序向右移
  • bootstrap-vue 改变 的位置

    默认情况下
  • 将 xml 转换为键值对表示法

    I use xmlstarlet el v显示 xml 文件的结构 包括所有属性和值 我想将其输出转换为某种键值对 即每个属性及其值位于单独的行上 包括 XPath 每行必须是唯一的
  • Python(NumPy)中相似度矩阵的高效计算

    Let X be a Bxn numpy矩阵 即 import numpy as np B 10 n 2 X np random random B n 现在 我对计算所谓的内核 甚至相似度 矩阵感兴趣K 其形状为BxB 及其 i j th
  • Laravel 内服务器发送的事件

    我正在尝试在 Laravel 4 中实现 HTML5 服务器发送的事件 我发现了这个repo https github com motyar mchat 该脚本使用server php文件以使其正常工作 我的问题是我将如何实现它以使其与控制
  • libMobileGestalt MobileGestalt.c:890: 此平台不支持 MGIsDeviceOneOfType [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我使用的是 Xcode 9 当我加载应用程序时 我不断收到此错误 libMobileGestalt MobileGestalt c 890
  • Pytest:测试运行后如何显示生成的报告?

    我将 pytest 与pytest html https github com pytest dev pytest html测试运行后生成 HTML 报告的插件 我正在使用自动连接的会话装置在浏览器中自动打开生成的 HTML 报告 pyte
  • 从 VS2008 发布的等效 msbuild 命令

    你知道 msbuild 中的发布命令与 VS2008 中的发布命令相对应吗 我想要的是结果输出是相同的 没有 PublishedWebSites 子目录 这可以从命令行实现还是我应该使用构建文件 Thanks 通过指定 WebProject
  • ASP.NET (MVC) - 将页面渲染到文件

    我必须创建一堆静态 html 文件作为控制台 winform 作业 当前的解决方案使用字符串生成器 在将 ASP NET MVC 与强类型视图页面 System Web Mvc ViewPage 一起使用后 我想知道是否可以利用这些视图页面
  • 为什么 JavaScript 中 (true > null) 总是返回 true?

    有人能告诉我为什么下面的代码在 JavaScript 中返回 true 吗 console log true gt null returns true null就好像false在这种情况下 即0作为一个数字 true is 1作为一个数字
  • C++自由实现“有界优先级队列”

    我正在寻找一个免费软件实现有界优先级队列C 中的抽象 基本上 我需要一个数据结构 其行为就像std priority queue但始终保持着 最好的 n最多元素 Example std vector