数据结构-查找-线性表查找技术

Posted 邓佳程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构-查找-线性表查找技术相关的知识,希望对你有一定的参考价值。

                顺序表的查找技术

  假设有一组书8,5,9,80,16,5,56。。。。如何查找我们的value?

  一般为

for(int i=0;i<size;i++)    
{
if(arry[i]==value) {
      return i;
    }
}
return false;

  看第一个for循环中每次都需要判断一次i<size,那我们遍历100个数最坏情况下其实是比较了200次。

  于是我们设定一个哨兵在a[0],然后while循环从后往前比较,加入比较到就返回i,否则返回0。

 1 int search(vector<int>& v,int value)
 2 {
 3     v[0]=value;
 4     int i=v.size();
 5     while(i!=value)
 6     {
 7         i--;
 8     }
 9      return i;  
10 }

  这样就减少了一半的查找时间。

以上是关于数据结构-查找-线性表查找技术的主要内容,如果未能解决你的问题,请参考以下文章

链表适用于( )查找

线性表的查找

用C语言编写链式存储结构下实现线性表的创建,插入,删除,按值查找

顺序查找(Sequential Search)

顺序查找的概念及实现代码详解

一个树结构的表查找没有子节点的节点,如何写SQL?