数据结构 | 散列表(Hash Table)

发布时间:2024年01月22日

????????散列表(Hash Table) 又名哈希表/ Hash 表,是根据(Key) 直接访问子内存存储位置值(Value)的数据结构,他是由数组演化而来的,利用了数组支持按照下标进行随机访问数据的特性。

什么是散列表

  • 散列表也可以叫: Hash表
  • 根据 key 直接访问 value 的数据结构。
  • 由数组演化过来的,利用了数组使用下标进行访问数据。

散列(Hash)冲突

key 指定到对应的内存位置 需要通过 散列函数(hashCode),计算出来下标。

所以就存在这一种情况: 多个key 指定到同一个内存地址。这个就叫做Hash 冲突。

散列冲突的解决方法 - 链表法(拉链法)

  • 数组的每个下标对应的地址称之为桶(bucket) 获取 槽(slot)。
  • 每个桶(槽)都指向一条链表。
  • key 指向的下标如果是同一个,都会放到这个桶(槽)相对应链表或者红黑树中。
文章来源:https://blog.csdn.net/weixin_65861329/article/details/135730221
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。