我需要缓存该版本的“查看版本id”-> "MD5“的映射。
例如,
{
"version/20220531-0200-1822-g296fa0290a3": "933cbfc50909025f57d6434ec593461c",
"version/20211215-0200-1900-99046b102fdb": "2aa036d04e42086e9f7d7a7f0bdfe812"
}这个列表应该只包含几个条目;一个非常小的数据结构--但是检索最常见的条目--应该是绝对快速的。
显然,最小阻力的过去是使用标准库Hashtbl或仅仅使用数组和字符串比较;但我希望在此过程中能够做得更好,并了解一些有关数据结构的知识。
是否有某种自排序频率数据结构对此是理想的?
发布于 2022-06-21 21:48:17
尝试使用按键显示元素查找次数的堆。它是为O(常数)查找时间,O(log )删除和插入而设计的。它具有很好的内存局部性,并且是你能得到的最快的。
但是,一般来说,对于小N,数据结构的渐近运行时相对于数据结构或其用例的特定实现的各种开销而言,变得不那么相关。
https://stackoverflow.com/questions/72706029
复制相似问题