c++ - C++ Map 中查找 float 键的优化

标签 c++ performance dictionary double stdmap

我想问一个与此相关的问题:Floating point keys in std:map

我用 double 制作了一个 std::map作为其他类型 MyType 的关键,即:

map<double,MyType> myMap;

我的问题是: 鉴于myMap.find(...)是 std::map 查找键的优化方式(参见 How sets, multisets, maps and multimaps work internally ),是 Floating point keys in std:map 中的方法明显未优化?我可以实现更有效的方法吗?

最佳答案

它并不是明显未优化。首先,所有操作的渐近复杂度都是相同的(O(log(n))),只有比较速度会慢一个常数因子。事实上,我认为你不会变得更好,因为你无法以任何更好的方式同时安全地进行 double 比较。

关于c++ - C++ Map 中查找 float 键的优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20518760/

相关文章:

sql - 插入查询的性能调优

python - Python中使用for循环和dict进行字符串控制

c++ - C++ 中的模式匹配

c++ - OpenGL 的纹理映射问题

c - 全局化 2 个小型阵列如何导致性能显着下降?

c - 变异数组中最小值及其偏移量的数据结构

python - 通过解包计算从 python 字典中读取的内容

python - 正在构造 key :Value pair from list comprehension in Python

c++ - 初始化 递增 递减 And 和 or 运算符

c++ - 在 C++ 类中正确设计成员 setter/getter