redis中基本的数据结构1

1.动态字符串结构

 

2.链表结构

 

3.哈希表节点


 当两个健的哈希值相同的时候,使用链表连接在一起,解决冲突

 

4.字典

 

5.给字典中添加新的键值对:

  5.1使用字典设置的哈希函数,计算健key的哈希值

     Hash=dict->type->hashFunction(key);

  5.2使用哈希表的sizemask属性和哈希值,计算出索引值

     Index=hash&dict->ht[x].sizemask;//其中hx可能是ht[0]或者ht[1]

     例如,对如下字典添加一个(k0,v0):


     

Hash=dict->type->hashFunction(k0);//假设计算出来为8

Index=hash&dict->ht[0].sizemask=8&3=0;//计算出k0的索引值为0,表示(k0,v0)应该放在放置到哈希表数则的索引0位上,如图:

 

 如果冲突了,0位上也映射了一个(k1,v1),则使用拉链法解决冲突,并且此时使用的是头插法,将后来的插在前边.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值