std::map有一个insert方法,它采用一个"提示"迭代器,如果提示正确,将把log(n)的插入时间减少到恒定时间.很明显这是如何工作的,因为容器可以确保新添加的项具有小于提示的键并且具有比提示之前的项更大的键.否则提示错误并执行正常插入.
std::unordered_map也有类似insert的提示功能.提示有什么作用?我不清楚如何使用另一个"提示"迭代器来加速哈希映射插入.
如果使用它,什么是适当的"提示".在std::map,通常通过调用lower_bound地图找到提示.
mey*_*mer 19
这是一个接口兼容性问题.基本上,设计是考虑到界面std::map.
换句话说,因为std::unordered_map它没有差异,所以提供或不提供提示.
此处评论的其他信息:
接口兼容性非常重要,因为它能够快速/轻松地切换map并unordered_map提供无痛过渡的宝贵灵活性,因为性能通常是选择其中一个的决定性因素.
该提示允许无序映射实现首先进行值比较,以查看提示是否有效。这避免了必须执行哈希函数,这可能比比较操作成本更高。
| 归档时间: |
|
| 查看次数: |
3456 次 |
| 最近记录: |