LuaTable开放定址法
2021-03-16 14:31:24 0 举报
登录查看完整内容
开放定址法流程描述
作者其他创作
大纲/内容
2
0
1
7:f
3
6:e
lastfree
数组部分
10:d
aa:g
哈希表部分
执行代码:t[\"aa\"]=\"g\"假设hash出来的下标:2发现下标已被\"d\"占据,把\"g\"加到链表中
a
执行代码:t[1] = \"a\"t[2] = \"b\"t[4] = \"c\"都是索引到数组部分
执行代码:t[20]=\"h\"发现哈希表已经满了,重新rehash
b
执行代码:t[10]=\"d\"下标:10 % 4 = 2
执行代码:t[6]=\"e\"下标:6 % 4 = 2发现下标已被占据
c
执行代码:t[7]=\"f\"下标:7 % 4 = 3发现下标已被\"e\"占据,但是这个下标不属于\"e\"的主位置,迁移\"e\"
开放定址法t = {}//假设这里调用resize,设置了数组和哈希表的数量为4,初始状态如下:
收藏
0 条评论
回复 删除
下一页