1,顺序查找:
1)顺序表:指集合或线性表的顺序存储结构。在顺序表上查找主要两种方法:顺序查找方法,和二分查找方法。
2)顺序查找:又称线性查找,从顺序表的一端开始,一次进行查找。优点:最简单,对元素排列次序无要求,插入新元素方便。缺点;速度慢,平均查找长度是(n+1)/2,约为表长度的一半;
2,二分查找:
1)又称折半查找,对分查找,作为二分查找对象的数据表必须是顺序存储的有序表。
2)二分查找的过程:有序表A[0]~A[n-1] ,首先取中点元素A[mid]的关键字,同给定值K进行比较,若相等则查找成功;否则若K<A[mid].key,则在左列表总进行二分查找;否则在右列表中进行二分查找;这样经过一个比较,就缩小一半的空间,如此进行,直到查找成功。或者当前查找空间为空为止。
二分查找的过程是递归的,也很容易写成非递归算法,只需要根据情况修改带查找区域的上下界即可。
优点:时间复杂度为O(logn),查找速度 快。
缺点:需要建立有序表,并且插入和删除会比较麻烦,另外,只适用于顺序存储的有序表,不适用与连接存储的有序表。