一个数据结构问题,想问一下,这个问题18,如何分析用链地址法找不到的ASL,请解释一下,谢谢。

我没看清画,就又画了一遍:

等概率下链地址查找失败的ASL计算如下:

哈希地址为1,4,7,8,9时,对应的链表中没有元素,不需要比较,比较总数为0;

当哈希地址为0、3、5、6、10时,对应的链表中只有一个元素,比较一次即可判定为失败,总比较次数为:1x 5 = 5;;

当哈希地址为2时,对应的链表中有两个元素,需要比较两次,比较总数为2;

hash地址为12时,对应的链表中有4个元素,需要比较4次,比较总数为4;

前提是概率相等,13个地址,所以失败的ASL =(0+5+2+4)/13 = 11/13。