ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 渐进式rehash过程 ![](https://img.kancloud.cn/72/50/7250831d8a0e20b4075e459920d3e471_893x623.png) ![](https://img.kancloud.cn/5f/8c/5f8cf94e3f53147a6f55023eaf86784d_813x543.png) ![](https://img.kancloud.cn/5f/4f/5f4f2e2a9dfd508e06042f7c76a58578_815x563.png) ![](https://img.kancloud.cn/9c/86/9c8667232df8df99a0eb99578e4fd8c4_845x633.png) ![](https://img.kancloud.cn/25/11/25111d6f732081bc65fcc85b992795c2_882x648.png) ![](https://img.kancloud.cn/8d/7b/8d7b3fa4455bb3bc1fb43fdcd4a2737f_873x528.png) ***** 总结:渐进式 rehash 执行期间的哈希表操作 (1)删除和查找:在进行渐进式rehash的过程中,字典会同时使用ht[0]和ht[1]两个哈希表,所以在渐进式rehash进行期间,字典的删除、查找、更新等操作会在两个哈希表上进行。比如说,要在字典里面查找一个键的话,程序会先在ht[0]里面进行查找,如果没找到的话,就会继续到ht[1]里面进行查找,诸如此类。 (2)新增数据:在渐进式 rehash 执行期间,新添加到字典的键值对一律会被保存到ht[1]里面,而ht[0]则不再进行任何添加操作。这一措施保证了ht[0]包含的键值对数量会只减不增,并随着rehash操作的执行而最终变成空表。