C u trúc d li u và gi i thu t
N I DUNG
CÁC THU T TN TÌM KI M
C u trúc d li u và gi i thu t
Bài toán tìm ki mế
Input: Cho m ng a có n ph n t
X: Giá tr c n tìm
Output: Tìm ph n t có giá tr = x có hay không
trong m ng
=> Hai thu t toán tìm ki m: ế
Tìm ki m tu n t (áp d ng trên m i m ng)ế
Tìm ki m nh phân (áp d ng trên m ng đã th t )ế
C u trúc d li u và gi i thu t
Thu t tn tìm ki m tuy nnh ế ế
Ý t ngưở :L n l t so sánh X v i t ng ph n t ượ
trong A cho đ n khi tìm th y hay h t ph n t ế ế
trong m ng.
Các b c ti n hànhướ ế
Bc 1ướ : Kh i gán i=1
B c 2ướ : So sánh a[i] v i giá tr x c n tìm, có 2 kh
năng
+ a[i]=x tìm th y x. D ng
+ a[i] # x sang b c 3ướ
B c 3ướ : i=i+1 //xét ti p ph n t k ti p trong m ngế ế ế
N u i >N: H t m ng. D ngế ế
Ng c l i: L p l i b c 2 ượ ư
C u trúc d li u và gi i thu t
Thu t tn tìm ki m tuy nnh ế ế
int LinearSearch(int a[],int n, int x)
{ int i=0;
while((i<n)&&(a[i]!=x))
i++;
if(i==n)
return 0; //Tìm kng th y x
else
return 1;// tìm th y
}
C u trúc d li u và gi i thu t
Thu t tn tìm ki m tuy nnh ế ế
1 2 3 4 5 60
2 8 5 1 6 4 6
X=6
i
6
Tìm th y 6 t i v trí 4