c – 任何可用的实现,如Loki的AssocVector,但具有Boost的Bimap的
发布时间:2020-12-16 06:55:09 所属栏目:百科 来源:网络整理
导读:我想知道是否有人知道任何具有Loki的AssocVector提供的性能特征的库代码(元素的参考位置,与地图相比较低的每元素内存开销),但具有Boost的BiMap功能(能够从中查询地图)双方的关系)? 或者使用std :: pairs的排序std :: vector并添加功能来使用该对中的任一元
我想知道是否有人知道任何具有Loki的AssocVector提供的性能特征的库代码(元素的参考位置,与地图相比较低的每元素内存开销),但具有Boost的BiMap功能(能够从中查询地图)双方的关系)?
或者使用std :: pairs的排序std :: vector并添加功能来使用该对中的任一元素作为前进的方式来查找向量? 解决方法
这真的取决于你想要快速做什么. Loki :: AssocVector有O(n)插入和删除,而boost :: bimap在使用哈希表时有O(1).如果您可以在数据结构的一个“视图”上使用O(n)操作而在另一个上查看O(lg n),那么您提出的解决方案将正常工作并且占用很少的内存.如果一个视图上的操作占主导地位,那么对于小数据集来说可能非常快.
您也可以考虑使用Boost.Intrusive或boost :: bimap与专门的分配器. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |