结构推理
什么叫散列表(或称哈希表),它有什么特点?什么叫散列表中的碰撞问题(或称冲突)?简述解决碰撞的两种基本办法。
【正确答案】散列表是一种存储方式和检索方法,其基本思想是以关键码的值为自变量,通过一定的函数关系(散列函数)计算出对应的函数值,把这个值解释为结点的存储地址,把结点存入;检索时根据要检索的关键码用同样的函数计算地址,然后从相应的单元中读取要找的结点。
不同的关键码被散列函数映射到相同的地址上的情况称为“碰撞”。解决碰撞的方法有两大类,第一类是拉链法(又分为结合的同义词子表和分离的同义词子表两种),第二类是开地址法(又分为线性探索法和双散列函数探索法等)。
【答案解析】