首先,存储地图几乎肯定会占用比矢量更多的内存,因为矢量只是一个连续的块而一个地图包含一个树结构.
你的问题更好的答案是,它取决于你试图解决的问题.这实际上取决于您希望如何索引数据.如果您的数据可以用整数线性索引,那么向量将表现最佳.
但是,在许多情况下,您需要以其他方式访问您的数据.例如,如果要使用字符串(如字典查找)索引数据,则地图将表现更好.要使用向量使用字符串索引数据,如果不保持向量排序,则必须执行线性搜索(O(n))以查找元素.地图只需执行二进制搜索(O(log n)),随着n的增长,这将快得多.
| 归档时间: |
|
| 查看次数: |
1750 次 |
| 最近记录: |