gpt4 book ai didi

c++ - std::map 获取最低的 n 个元素时间

转载 作者:太空宇宙 更新时间:2023-11-04 15:23:15 24 4
gpt4 key购买 nike

std::map 应该使用二叉搜索树来实现,正如我在文档中所读的那样,它也会对它们进行排序。

我需要快速插入和快速检索元素。我还需要不时获取第一个最低的 N 个元素。

我正在考虑使用 std::map,这是一个不错的选择吗?如果是,我需要什么时间来检索最低的 N 个元素? O(n*logn)?

最佳答案

鉴于您同时需要检索和 n 最小值,我认为 std::map 是合理的选择。但根据确切的访问模式 std::vector 进行排序也可能是一个不错的选择。

我不确定你所说的检索是什么意思。读取 k 个元素的时间是 O(k)(前提是您使用迭代器按顺序执行),删除它们的时间是 O(k log n)(n 是元素的总数;即使您使用迭代器按顺序执行也是如此)。

关于c++ - std::map 获取最低的 n 个元素时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14441198/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com