一、散列表查找
存储位置 = f (关键字)
不需要通过关键字比较就可以获得记录的存储位置。散列技术就是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。
散列是主要面向查找的存储结构。
不适合散列的情况:
- 一个关键字对应多条记录:比如以一个班的性别男女查找男同学女同学。
- 不适合范围查找:查找一个班级的18~20岁的同学。
冲突:存在两个关键字key1≠key2,但是有f(key1)=f(key2),这种现象我们称之为冲突,并且这个两个关键词key1、key2称为这个散列函数的同义词
二、散列函数的构造方法
2.1 直接定址法
例如对0~100
地址 | 年龄 | 人数 |
---|---|---|
00 | 0 | 500w |
01 | 1 | 600w |
02 | 2 | 450w |
… | … | … |