news 2026/6/1 9:29:21

Dictionary的底层原理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Dictionary的底层原理

Dictionary的底层原理图:

存储结构:数组加单链

运用了buckets,entries两个数组

为了提高查询效率:int[] buckets桶数组,存放的每一个链表的头节点的下标

详细步骤:

dict.Add("k1","v1"),通过k1获取HashCode值

然后除以buckets桶的个数获取在桶中存储的位置:k1=1304016835,k1%bucket.lenth(5)=0,将k1存储在桶为0的位置

如果该位置下entries下标为-1(代表还没存储数据),就往空的位置加入,然后使next指向-1

该数据下标为0

如果不为-1,则往末尾加,加好后,使next值指向前一个元素的下标,再将自己的下标赋值给桶在该位置的数

使用的时候就是先拿到桶的位置,然后遍历链表,而不是遍历整个数组

时间复杂度从O(n)—>O(1)

注意事项:

原链表最多存储100个数据

超出的话,则给桶扩容至下一个质数:5->7->11...

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/1 9:29:20

科研绘图太耗时?AI一招搞定,效率拉满!

用AI做科研绘图,已经成为超级生产力神器🔥。 过去要手绘或折腾专业软件,现在可能一句话就出图,配色还高级,效率翻倍! 具体怎么做?三步搞定👇第一步:给AI“投喂”指令 把你…

作者头像 李华
网站建设 2026/6/1 9:29:20

别再傻傻轮询了!STM32F103串口+DMA双缓存实战,让你的CPU占用率降下来

STM32F103串口DMA双缓存实战:彻底释放CPU性能的工程级解决方案在嵌入式系统开发中,串口通信是最基础却又最容易被低估性能瓶颈的环节。当系统需要同时处理多个传感器数据流时,传统的轮询或中断方式往往会让主循环陷入泥潭——你会发现即使最简…

作者头像 李华
网站建设 2026/6/1 9:27:22

GPT-3技术解析:从Transformer架构到应用实践

1. 从“理解”到“生成”:GPT-3带来的范式革命如果你在2020年之后才开始关注人工智能,尤其是自然语言处理领域,那么“GPT-3”这个名字对你来说,可能就像空气一样无处不在,却又习以为常。但回到它刚刚发布的时候&#x…

作者头像 李华
网站建设 2026/6/1 9:25:48

为什么顶级VC正秘密加注“视频基座模型”?——穿透表象的3层技术断层:物理引擎融合、神经动作捕捉、跨模态因果推理

更多请点击: https://codechina.net 第一章:AI视频生成未来发展方向 AI视频生成正从静态提示驱动的短片合成,迈向高保真、长时序、可编辑、具物理一致性的智能创作范式。技术演进不再仅聚焦于帧质量提升,而是深入建模时间因果性、…

作者头像 李华
网站建设 2026/6/1 9:22:09

Agent 系统演进的七个技术断面:从协议裁剪到具身统一

本周技术动向并非线性叠加,而是在多个正交维度上同步发生结构性位移。这些位移不指向某个“终极架构”,却共同勾勒出 Agent 系统工程化的现实边界:它正从模型能力的单点突破,转向系统级可审计性、可治理性与可组合性的集体收敛。 …

作者头像 李华