順序查找(Sequential Search)
在表的組織方式中
基本思想是
K相等
順序查找方法既適用於線性表的順序存儲結構
結點開始)
(
typedef struct{
KeyType key;
InfoType otherinfo; //此類型依賴於應用
}NodeType;
typedef NodeType SeqList[n+
(
int SeqSearch(Seqlist R
{ //在順序表R[
//成功時返回找到的結點位置
int i;
R[
for(i=n;R[i]
return i; //若i為
} //SeqSearch
注意
監視哨設在高端的順序查找【參見練習】
(
① 算法中監視哨R[
為了在for循環中省去判定防止下標越界的條件i≥
②成功時的順序查找的平均查找長度
在等概率情況下
(n+…+
即查找成功時的平均比較次數約為表長的一半
若K值不在表中
③表中各結點的查找概率並不相等的ASL
【例】在由全校學生的病歷檔案組成的線性表中
在p n ≥p n
若事先知道表中各結點的查找概率不相等和它們的分布情況
為了提高查找效率
找概率大的結點在查找過程中不斷往後移
④順序查找的優點
算法簡單
⑤順序查找的缺點
查找效率低
From:http://tw.wingwit.com/Article/program/sjjg/201311/23867.html