数据结构
文章平均质量分 89
小徐Chao努力
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【堆】最大堆、最小堆以及GO语言的实现
堆是一个完全二叉树,即除了最后一层,其他层的节点数都是最大的,且最后一层的节点都集中在左侧。堆序性质:根据堆的类型(最大堆或最小堆),节点的值满足特定的排序关系。原创 2025-05-03 17:43:34 · 1304 阅读 · 0 评论 -
HashMap的底层原理-一文搞懂
扩容前后,key的哈希值对数组长度求余,对比结果发现,同一个桶中的元素a和b在扩容后的新位置取决于新数组长度减1对应的二进制的最高位,即00010000,其十进制正巧为旧数组长度。● 若数组索引位置对应的数据结构是链表,则生 成low和high两条链表,low链表插入新数组中的下标为[当前数组下标],high链表插入新数组中的下标为[当前数组下标+旧数组长度]。可以看出,当容量不是2的n次幂时,4个不同的哈希值的与运算得到的结果相同,发生了严重的哈希碰撞,这是因为容量减1对应的二进制低位存在0比特位。原创 2025-04-17 22:33:50 · 1078 阅读 · 0 评论
分享