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

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

当每个元素的概率相同顺序查找次数=1/n,则有

ASL顺序查找次数顺序查找次数*(n-i+1)=(n+1)/2

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

2.有序表的顺序查找

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

顺序查找次数

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

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

相关文章:

  • 2021-05-16
  • 2021-10-12
  • 2022-01-12
  • 2021-11-28
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-27
相关资源
相似解决方案