散列表

基本概念

构造方法

构造散列函数确定关键词存储位置 注意⚠️:

散列函数:

处理冲突

ASL计算(线性探测法)

散列函数H(key)=(key×3)mod7 计算散列函数值:

key78301118914
H(key)0365560

| key | 7 | 8 | 30 | 11 | 18 | 9 | 14 | | :——: | :——: | :——: | :——: | :——: | :——: | :——: | :——: | | H(key) | 0 | 3 | 6 | 5 | 5 | 6 | 0 |

散列表(线性探测法)

地址0123456789
关键字71481130189

ASL成功

ASL=1+1+1+1+3+3+27

ASL失败

ASL=3+2+1+2+1+5+47

错题集

  1. 0E8611EC-3E54-4AC5-A63D-6238239D5C67

    答案与解析:
    答案: C
    解析:
    0 1 2 3 4 5 6 7 8 9 10 11
    18 22 30 87 11 40 6 20
    ASL = (9+8+7+6+5+4+3)/7 = 6
    分子的每一项表示确定位置需要比较的次数
    比如9,指的是0号位的关键字需要比较0-8号后才能确定,需要比较9次
    分母表示散列函数能计算出的位置个数,这里只能算出0-6,也就是7个数