【文件属性】:
文件名称:probing:线性探测哈希图
文件大小:5KB
文件格式:ZIP
更新时间:2021-06-24 23:28:15
Go
Go 中的线性探测哈希表
这是用于线性探测哈希表的模板。 因为这是一个探测哈希表,所以只能插入或修改条目(即不能删除)。 并且必须有一个无效的密钥__KEY_NIL用于标记未使用的桶。 优点(相对于 Go 自己的地图类型)是:
所有条目都存储在一个切片中;
内存占用一般较小;
查找通常会更快或不会更慢。
要定制,
在probing_params.go定义自己的键值类型等;
用您选择的名称替换probing_params.go和probing_impl.go __ ;
将这两个文件复制到您的项目中,您就可以开始了!
基准测试结果(仅限查找)
总结:探测哈希表是,
稍慢,内存占用更小;
具有可比的内存使用量,速度明显更快;
在更大的地图上更快。
$ for s in 1.5 2; do for k in 1000 1000000 10000000; do go test
【文件预览】:
probing-master
----probing_params.go(290B)
----probing_bench_test.go(3KB)
----probing_test.go(2KB)
----probing_impl.go(4KB)
----.gitignore(7B)
----README.md(4KB)