我想问一个与此相关的问题: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/