闭散列方法与开散列方法

来源:互联网 发布:单位的网络不让上b站 编辑:程序博客网 时间:2024/04/30 05:38

今天看了云风的blog得知lua 是闭散列的,go 是开散列的,一时不知开闭散列是啥意思就查了下,原来就是解决hash冲突的方法,而且都很熟悉,只是名字忘了

冲突解决策略

尽管散列函数的目标是使得冲突最少,但实际上冲突是无法避免的。因此,我们必须研究冲突解决策略。
    冲突解决技术可以分为两类:开散列方法( open hashing,也称为拉链法,separate chaining )和闭散列方法( closed hashing,也称为开地址方法,open addressing )。这两种方法的不同之处在于:开散列法把发生冲突的关键码存储在散列表主表之外,而闭散列法把发生冲突的关键码存储在表中另一个槽内。



说到 lock-free 编程,现实中经常使用 CAS 原语。CAS 是英文 Compare and Swap 的简写

原创粉丝点击