首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Heap查找map的顶级元素

使用Heap查找map的顶级元素
EN

Stack Overflow用户
提问于 2011-05-16 05:38:38
回答 1查看 413关注 0票数 3

我有一个unordered_hashmap,它将一个字符串(比如personName或SSN)映射到一个struct Attributes,其中包含person的许多属性,包括annualIncome。有许多这样的散列映射对应于不同的组织,如mapOrganizationAmapOrganizationB等。我需要找到年收入前k位的人(具有属性)。我在考虑使用带有k个节点的min-heap (以最低工资为根),这样我就可以逐个扫描映射,如果当前元素的收入超过min-heap的根,则根可以更新。这是从不同地图中获取top-k的正确方法吗?在STL中有没有我可以使用的min-heap数据结构?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-16 05:45:08

您可以使用make_heap, push_heap, pop_heap, sort_heap, is_heap将任何非关联容器(或序列,实际上)视为堆。

这不适合您的映射,但我假设没有什么会阻止您将值(或指向这些值的指针/引用)存储在列表中,例如,用于此目的的列表?

另外,也许可以看看,它是一个专注于提供多个(高效!)相同数据上的索引

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6011435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档