![]() |
1
7
我很少用
根据使用模式,二进制搜索
在这种情况下,将数据加载到向量中,必要时对其进行排序,然后对数据进行二进制搜索(例如
|
![]() |
2
4
我决不会仅仅基于(可能是伪造的)“效率”的理由做出选择,而是总是基于我对容器的实际操作。我要存储副本吗?插入顺序重要吗?我有时会想搜索值而不是键吗?那些东西。 |
![]() |
3
2
我几乎总是喜欢使用map(或者无序的map,当散列容器更有意义时)和vector。 尽管如此,我认为你的推理是倒退的。我倾向于用向量 只有 当有大量的数据时,因为向量的内存占用会更小。 使用正确的数据集类型,您可以加载一个向量,然后对其进行排序和二进制搜索,使其具有更小的占地面积和与地图相似的性能特征,尤其是在加载后数据集是稳定的情况下。 |
![]() |
4
2
您是否考虑过使用已排序的数据结构?他们倾向于提供对数搜索和插入-一个合理的权衡。就我个人而言,除了喜欢地图之外,我没有任何硬性和快速的规则,因为它能够输入人类可读/可理解的价值。 当然,还有很多关于映射与列表/向量(排序和未排序)的效率的讨论——如果您的键是一个10000个字符的字符串,那么进行字符串比较要比搜索一个只有几个项目的列表花费更长的时间,因此您希望确保能够也会冷冰冰地比较钥匙。 |
![]() |
5
1
你为什么不吃
|
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |