不知道你说的是什么平均查找长度,一般考试会考哈希表的,因为其他的更简单。
对于含有n个数据元素的查找表,查找成功的平均查找长度为:ASL=∑PiCi(i=1,2,3,…,n)。其中:Pi为查找表中第i个数据元素的概率,Ci为找到第i个数据元素时已经比较过的次数。
已知一个待散列存储的线性表为(38,25,74,63,52,48),散列函数为H(k)=kmod7,若采用线性探测的开放地址法处理冲突,则平均查找长度为:
ASL=p1c1+p2c2+p3c3+.......
也可以表示为
ASL=1/n(c1+c2+c3+....)
其中c是每个数查询的次数
按照H(K)=kmod7得:
38----1
25----1
74----2
63----1
52----4
48----3
所以ASL=1/6(1+1+2+1+4+3)=2