顺序查找次数

1.一般线性表的顺序查找

对于有n个元素的线性表,给定值key与表中的第i个元素关键字相等,即为第i个元素时,需要n-i+1次比较。查找成功时,平均查找长度为ASL\sum_{i=1}^{n}p_{i}*(n-i+1)

当每个元素的概率相同p_{i}=1/n,则有

ASL\sum_{i=1}^{n}p_{i}*(n-i+1)=(n+1)/2

查找不成功,关键字总要比较n+1次。

2.有序表的顺序查找

 如果能够在查找之前知道表的关键字时有序的,当查找失败时无需比较另一端的关键字就能返回查找失败的信息,那么就可以缩小失败平均查找长度。下图是有序顺序表的顺序查找判定数:

顺序查找次数_第1张图片

有序顺序查找查找成功长度和一般顺序查找的一样。查找失败时,查找指针走到了某个失败结点(红色线的结点),查找失败长度为该结点的层数。查找失败概率为1/n+1。

ASL(不成功)=(1+2+...+n+n)/n+1=n/2+n/(n+1)

你可能感兴趣的:(顺序查找次数)