散列表
采用散列技术将记录存储在一块连续的存储空间中这块连续存储空间称为哈希表或散列表
散列技术是记录在存储位置和他的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置。
这个对应关系 f 称为散列函数,又称为哈希函数。
查找步骤:
1.在存储时,通过散列函数计算记录的散列地址,并按照此散列地址存在存储该记录。
2.当查找时,通过同样的散列函数计算记录的散列地址,按此散列地址访问该记录。
散列技术既是一种存储方法,又是一种查找方法。
适合求解查找与给定 值相等的记录。
构造原则:1.计算简单 2.散列地址分布均匀
构造方法:1.直接定址法 2.数字分析法 3.随机数法
处理冲突的办法:1.开放地址法 2.链地址法(hashmap类似。 将所有关键字为同义词的记录存储在一个单链表中)
先把递归记下来吧,前些日子才有了递归在栈中进出的思想方式。
函数调用本身,而函数调用是有时间和空间消耗:每一次调用,都需要在内存栈中分配空间以保存参数,
返回地址及临时变量。而且往栈里压入数据和弹出都需要时间。
本质上是把一个问题分解成多个小问题。缺点是重复计算和可能调用栈溢出