今天蒟蒻來給大家講線性查詢+二分查詢
一、線性查詢思路+**+**
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...