一个数据结构问题,想问一下,这个问题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。