Tải bản đầy đủ (.ppt) (14 trang)

Tin hoc 10: Bai 4 Thuat toan tim kiem

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (441.89 KB, 14 trang )


V D V Thuật toán tìm kiếm
Hai bạn chó (Bi và Bông) chơi trốn tìm, Bông đã trốn vào một
trong những chiếc mũ của ông già Nôen trên. Hãy chỉ ra các
cách tìm chiếc mũ mà Bông đang trốn? Cho biết có những cách
nào?
Bông trốn
đâu nhỉ ?

C1: Tìm kiếm tuần tự
( mở từng mũ)

C2: Do các mũ đã sắp xếp
lớn dần, hai mũ đầu nhỏ hơn
người của Bông nên chỉ tìm
hai mũ sau thôi!

1. ThuËt to¸n t×m kiÕm tuÇn tù

Xét một bài toán tìm kiếm đơn giản sau :
Cho dãy A gồm N số nguyên khác nhau:
a
1
,a
2
….a
N
và một số nguyên k.Cần biết có
hay không chỉ số i(1<=i<=N) mà a
i
=k. Nếu


có hãy cho biết số đó.

INPUT: Dãy A gồm N số nguyên a
1
, a
2
, , a
N
đôi
một khác nhau và số nguyên k.


OUTPUT: Chỉ số i mà a
i
= k hoặc thông báo
không có số hạng nào của dóy A cú giỏ tr bằng k.
1. Thuật toán tìm kiếm tuần tự


Xác định bài toán:

54321I
5125118924175A


Mô phỏng thuật toán tìm kiếm tuần tự
Mô phỏng thuật toán tìm kiếm tuần tự
Với k = 2 và dãy A gồm 10 số hạng như sau:
Tại vị trí i = 5 có a
5

= 2 = k
Với k = 6 và dãy A gồm 10 số hạng như sau:
A 5 7 1 4 2 9 8 11 25 51
I 1 2 3 4 5 6 7 8 9 10 11
Với mọi i từ 1 10 không có a
i
có giá trị bằng 6
5

ý tưởng:
Lần lượt từ số hạng thứ nhất, ta so sánh giá trị
số hạng đang xét với khoá (k) cho đến khi có sự
trùng nhau, nếu đã xét tới số hạng cuối cùng mà
không có sự trùng nhau thì có nghĩa là dãy A
không có số hạng nào có giá trị bằng k.

×