题目
假定有k个关键字互为同义词,若用线性探测法把这k个关键字存入散列表中,至少要进行探测的次数是()。A. k-1B. kC. k+1D. k(k+1)/2
假定有k个关键字互为同义词,若用线性探测法把这k个关键字存入散列表中,至少要进行探测的次数是()。
- A. k-1
- B. k
- C. k+1
- D. k(k+1)/2
题目解答
答案
D
解析
步骤 1:理解线性探测法
线性探测法是一种解决散列表冲突的方法,当发生冲突时,即两个关键字散列到同一个位置时,会依次检查下一个位置,直到找到一个空位置为止。
步骤 2:分析k个同义词的探测次数
假设有k个关键字互为同义词,它们散列到同一个位置。第一个关键字直接存入,不需要探测。第二个关键字需要探测1次,第三个关键字需要探测2次,以此类推,第k个关键字需要探测k-1次。
步骤 3:计算总探测次数
总探测次数为1+2+3+...+(k-1),这是一个等差数列求和问题,其和为(k-1)k/2。
线性探测法是一种解决散列表冲突的方法,当发生冲突时,即两个关键字散列到同一个位置时,会依次检查下一个位置,直到找到一个空位置为止。
步骤 2:分析k个同义词的探测次数
假设有k个关键字互为同义词,它们散列到同一个位置。第一个关键字直接存入,不需要探测。第二个关键字需要探测1次,第三个关键字需要探测2次,以此类推,第k个关键字需要探测k-1次。
步骤 3:计算总探测次数
总探测次数为1+2+3+...+(k-1),这是一个等差数列求和问题,其和为(k-1)k/2。