假定有k个关键字互为同义词,若用线性探测法把这k个关键字存入散列表中,至少要进行探测的次数是(  )

假定有k个关键字互为同义词,若用线性探测法把这k个关键字存入散列表中,至少要进行探测的次数是(  )


A、

k-1


B、

k


C、

k+1


D、

k(k+1)/2


【正确答案】:D
【题目解析】:

应用线性探测法解决冲突时,是在散列函数H得出的地址基础上+1,若仍然冲突,继续找+2的地址,直到不冲突为止。
本题中,有k个同义词,即k个关键字得到的散列函数是一样的。故第1个关键字需比较1次,第2个关键字比较2次,第3个关键字比较3次,...,第k个关键字比较k次。共需比较的次数是1+2+3+...+k=k(k+1)/2。故选D。


Top