哈希表的学习笔记

哈希表,又称散列表,是一种快速查找的数据结构。它通过哈希函数将键映射到存储位置,实现直接访问。哈希函数设计要求兼顾压缩性和散列性,以降低冲突发生。冲突是指不同键得到相同哈希地址的现象,解决方法包括开放寻址法、链地址法等。本文探讨了哈希表的工作原理、冲突处理及其在数据存储和查找中的应用。
摘要由CSDN通过智能技术生成

散列表Hash table,也叫哈希表),是根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表

哈希表可以根据一个KEY值来直接访问数据,因此查找速度快;哈希表实质就是一个数组;hash函数就是根据key计算出应该存储地址的位置,而哈希表是基于哈希函数建立的一种查找表

哈希函数

    用来定义记录关键字与记录点存储位置的对应关系的函数。其自变量是记录的关键字,函数知识记录存储位置。

哈希地址

    由哈希函数求出的记录存储位置

哈希表

也叫散列表,试讲记录按哈希函数确定的位置存放而构成的表

散列

   散列既是一种查找技术,也是一种存储技术。散列主要是面向查找的存储结构,散列只是通过记录的关键码定位该记录,没有完整的表达记录之间的逻辑关系。

冲突

   对不同的关键字可能的道德同意哈希地址的现象叫做冲突。

同义词

   具有相同函数值的关键字对该哈希函数来说就称为同义词

应解决两个问题:

1.哈希函数应是一个压缩映像函数,应具有较   大的压缩性以节省存储空间;

2.哈希函数应具有较好的散列性,以尽量减少   冲突的出现。

 

直接定址法适应情况:事先知道关键码,关键码集合不是很大且连续性较好。

优点:不会产生冲突

缺点:占用连续空间,空间效率低

 

 平方取中法适应情况:事先不知道关键码的分布,且关键码的为数不是很大。

 适应情况:事先不知道关键码的分布,且关键码的位数很多。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值