在哈希查找方法中,冲突是不可能避兔的,只能 尽可能城少。 所以,哈希方法必须解决以下两个间题 1)构造好的哈希函数 a)所选函数尽可能简单,以便提高转换速度; b)所选函数对关键码计算出的地址,应在哈希地址内集 中并大致均匀分布,以减少空间浪费 2)制定一个好的解决冲突的方案 查找时,如果从哈希函数计算出的地址中查不到关键码,则 应当依据解决冲突的规则,有规律地查询其它相关单元
6 所以,哈希方法必须解决以下两个问题: 1)构造好的哈希函数 (a)所选函数尽可能简单,以便提高转换速度; (b)所选函数对关键码计算出的地址,应在哈希地址内集 中并大致均匀分布,以减少空间浪费。 2)制定一个好的解决冲突的方案 查找时,如果从哈希函数计算出的地址中查不到关键码,则 应当依据解决冲突的规则,有规律地查询其它相关单元。 在哈希查找方法中,冲突是不可能避免的,只能 尽可能减少
二、哈希函数的构造方法 要求一:n个数据原仅占用n个地 址,虽然散列查找是以空间换时间, 但仍希望散列的地址空间尽量小。 要求二:无论用什么方法存储,目 的都是尽量均匀地存放元素,以避免1.直接定址法 冲突。 2.除留余数法 常用的哈希函数构造方法有 3.乘余取整法 4.数字分析法 5.平方取中法
7 二、哈希函数的构造方法 常用的哈希函数构造方法有: 1. 直接定址法 2. 除留余数法 3. 乘余取整法 4. 数字分析法 5. 平方取中法 要求一:n个数据原仅占用n个地 址,虽然散列查找是以空间换时间, 但仍希望散列的地址空间尽量小。 要求二:无论用什么方法存储,目 的都是尽量均匀地存放元素,以避免 冲突