第9章 哈希表 9.1-9.3
内容来自尚硅谷Java数据结构与java算法(Java数据结构与算法)_哔哩哔哩_bilibili
写在前面:本文内容大致和原视频内老师的笔记内容相同,会偶尔插入自己的注释和理解,尽量会完成作业
本次作业稍有复杂(个人认为[del]没办法,我太菜了[/del])
两个作业
1是删除节点,2是添加时按id大小添加,都完成了,按照大小添加那里,关于头节点的内容有点绕
9.1哈希表(散列)-Google上机题
1. 看一个实际需求,google公司的一个上机题:
2. 有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,性别,年龄,住址..),当输入该员工的id时,要求查找到该员工的所有信息.
3. 要求:不使用数据库,尽量节省内存,速度越快越好→>哈希表(散列)
9.2哈希表的基本介绍
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。


9.3google公司的一个上机题
有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,性别,年龄,住址..),当输入该员工的id时,要求查找到该员工的所有信息.
要求:
1)不使用数据库,速度越快越好=>哈希表(散列)
2)添加时,保证按照id从低到高插入[课后思考:如果id不是从低到高插入,但要求各条链表仍是从低到高,怎么解决?]
3)使用链表来实现哈希表,该链表不带表头[即:链表的第一个结点就存放雇员信息]
4)思路分析并画出示意图

5)代码实现
再一次的见识到了自己有多菜,要是韩老师看到这篇文章怕是要血压飙升,然后隔着屏幕锤爆我的*头