哈希表是什么?哈希表数据结构详细资料分析

上传人:碎****木 文档编号:220862300 上传时间:2021-12-09 格式:DOCX 页数:1 大小:20.96KB
返回 下载 相关 举报
哈希表是什么?哈希表数据结构详细资料分析_第1页
第1页 / 共1页
亲,该文档总共1页,全部预览完了,如果喜欢就下载吧!
资源描述

《哈希表是什么?哈希表数据结构详细资料分析》由会员分享,可在线阅读,更多相关《哈希表是什么?哈希表数据结构详细资料分析(1页珍藏版)》请在金锄头文库上搜索。

1、哈希表是什么?哈希表数据构造具体资料分析我所写的这些数据构造,都是比较经典的,也是面试中经常会消灭的,这篇文章我就不闲扯了,全是干货,假设你能读完,期望对你有所挂念哈希表也称为散列表,是依据关键字值key value而直接进展访问的数据构造。也就是说,它通过把关键字值映射到一个位置来访问记录,以加快查找的速度。这个映射函数称为哈希函数也称为散列函数,映射过程称为哈希化,存放记录的数组叫做散列表。比方我们可以用下面的方法将关键字映射成数组的下标:arrayIndex=hugeNumber%arraySize那么问题来了,这种方式对不同的关键字,可能得到同一个散列地址,即同一个数组下标, 这种现象

2、称为冲突,那么我们该如何去处理冲突呢?一种方法是开放地址法,即通过系统的方法找到数组的另一个空位,把数据填入,而不再用哈希函数得到的数组下标,由于该位置已经有数据了;另一种方法是创立一个存放链表的数组,数组内不直接存储数据,这样当发生冲突时,新的数据项直接接到这个数组下标所指的链表中,这种方法叫做链地址法。下面针对这两种方法进展争辩。1. 开放地址法1.1 线性探测法所谓线性探测,即线性地查找空白单元。我举个例子,假设 21 是要插入数据的位置,但是它已经被占用了,那么就是用 22,然后 23,以此类推。数组下标始终递增,直到找到空白位。下面是基于线性探测法的哈希表实现代码:publicclassHashTable privateDataItem hashArray; /DateItem 类是数据项,封装数据信息privateint arraySize;privateint itemNum; /数组中目前存储了多少项privateDataItem nonItem; /用于删除项的publicHashTable() arraySize = 13;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号