我有一个效率很高的应用程序,我需要这样一个数组类型的数据结构A.它的键是0, 1, 2,...,它的值是uint64_t 不同的值。我需要两个常量操作:
1. Given i, return A[i];
2. Given val, return i such that A[i] == val
我不喜欢使用散列表。因为我尝试了,所以需要大约20分钟才能将6 000万个值加载到哈希表中(如果删除插入语句,它只需大约6秒)。时间对我的申请是不可接受的。或者有人推荐其他哈希表库?我试过uthash.c,它立刻坠毁了。
我也尝试过,但它似乎不是正确的。
有谁知道任何能满足我需求的数据结构吗?或者任何有效
我创建了安道尔项目来度量一些等价的代码,而这个项目让我陷入了为什么?为什么C++ 3x在这里慢一些?
我已经对C++做了一些调整,以立即尝试嵌入,然后push_back比当前的方法慢,但仍然如此。这里的复杂性应该是一样的,对吧?
Kotlin: 139,945,691 ns (139 ms)
C++:347,100,764 ns (347 ms)
Kotlin:
data class Record(
val year: Int,
val month: Int,
val day: Int,
var temperature: Double
)
val reco