1. 程式人生 > >順序查找

順序查找

成功 數據結構 pan 相等 時間復雜度 bsp 時間 存儲 i++

順序查找適合於存儲結構為順序存儲或鏈接存儲的線性表;順序查找也稱為線形查找,屬於無序查找算法。 從數據結構線形表的一端開始,順序掃描,依次將掃描到的結點關鍵字與給定值k相比較,若相等則表示查找成功; 若掃描結束仍沒有找到關鍵字等於k的結點,表示查找失敗。 查找成功時的平均查找長度為:(假設每個數據元素的概率相等) ASL = 1/n(1+2+3+…+n) = (n+1)/2 ; 當查找不成功時,需要n+1次比較,時間復雜度為O(n);所以,順序查找的時間復雜度為O(n)
//順序查找
int SequenceSearch(int a[], int value, int n)
{
    int
i; for(i=0; i<n; i++) if(a[i]==value) return i; return -1; }

順序查找