c 線性查詢 二分查詢

2021-10-24 12:02:12 字數 1601 閱讀 7755

今天蒟蒻來給大家講線性查詢+二分查詢

一、線性查詢思路+**+**

1.思路

線性查詢是一種在資料中查詢資料的演算法。

線性查詢的操作十分簡單,只要在陣列中從頭開始依次往下查詢即可。

如果找到了輸出即可,沒有找到就繼續搜下去。

2.**

先來找10好了

第一步:

從3開始找,3不等於10,換下乙個

第二步:

到9,9不等於10,下乙個

第三步:

到8,8不等於10,下乙個

第四步:

到10,10=10,輸出即可

3.**

#include

using

namespace std;

int n,a[

1100

],b,tot;

intmain()

}printf

("%d"

,tot)

;return0;

}

二、二分查詢思路+**+**1.思路:

二分查詢也是一種在陣列中找資料的演算法

但是二分只能對單調遞增或單調遞減的陣列進行查詢(如果不符合用個排序即可)。

二分查詢通過比較陣列間的資料與目標資料的大小,可以得知目標資料是在陣列的左邊還是右邊。

因此,每比較一次範圍就縮小了一半。重複執行該操作就可以找到目標資料或得出目標資料不存在的結論。

這組資料來找3

第一步:

找到最中間的下標所表示的數5,發現5>3,所以右半邊可以作廢,在左半邊找。

第二步:

接下來因為還有偶數個數所以2還是3無所謂按照程式來這裡我們就取2,發現2<3所以3在2的右邊,1作廢

第三步:

接下來因為還有偶數個數所以4還是3無所謂按照程式來這裡我們就取3,發現3=3,輸出即可。

3.**:

#include

using

namespace std;

int n,a[

501]

;bool

mid_search

(int x)

return

false;}

intmain()

sort

(a,a+n)

;int x;

cin>>x;if(

mid_search

(x))

else

return0;

}

好,這次就講這麼多吧。

線性查詢 二分查詢

在陣列中找出某個值a 線性查詢 二分查詢 線性查詢就是乙個個比較,找出那個值a。二分查詢是針對有序數列,找出中間值nid與a比較,mid a,從mid左邊小於mid的值中查詢,這樣依次縮小查詢空間,找到該值。線性查詢法 value 3 array 1,2,3,4,5,6,7 def ls ary,v...

線性查詢和二分查詢

從第乙個遍歷判斷到最後乙個,查詢到全部符合條件的值。遍歷陣列找到就返回下標值 如果有多個可先儲存 1.public class seqsearch 沒有順序的陣列 4.listsearch seqsearch arr,1 5.if search.size 0 else 10.11.12.privat...

查詢 線性查詢,二分查詢,雜湊法

a.linearsearch for i from 0 to n 1if a i key return i return not found b.linearsearch i 0 a n key while a i key i if i n return not found return i區別 a...