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

bai 4: Thuật toán tìm kiếm tuần tư

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 (165.6 KB, 20 trang )


CHÀO MỪNG QUÍ THẦY CÔ
TRONG HỘI ĐỒNG SƯ PHẠM
NHÀ TRƯỜNG
Đơn Dương, ngày 19 tháng 9 năm 2008

Kiểm tra bài cũ:
Câu 1: Bài toán kiểm tra tính nguyên tố của
một số nguyên dương N.
a/ Hãy xác định bài toán?
b/ Hãy viết thuật toán liệt kê?

Bài 4: Bài toàn và thuật toán (tt)

Output: Chỉ số i mà a
i
= k hoặc thông báo
không có số hạng nào của A bằng k.
3. 4 Thuật toán tìm kiếm tuần tự
(Sequential Search)
a/ Xác định bài toán:
Input: Dãy A gồm N số nguyên a
1
, a
2
,, a
N

khoỏ k.

b/ í tưởng:


Tỡm kim tun t c thc hin mt cỏch t
nhiờn, 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 gp mt s
hng bng k, nếu đã xét tới số hạng cuối cùng mà
không có giỏ tr no bng k thì có nghĩa là dãy A
không có số hạng nào có giá trị bằng k.

c/ Thut toỏn:
Bước 1: Nhập N, các số hạng a
1
, a
2
,, a
N

và giá trị khoá k;
Bước 2: i 1
Bước 3: Nếu a
i
= k thì thông báo chỉ số i , End
Bước 4: i i+1;
Bước 5: Nếu i > N thì thông báo dãy A không có số
hạng nào có giá trị bằng k, End;
Bước 6: Quay lại B3.
* Thut toỏn lit kờ:

Nhập N, cỏc s hng a
1
, a
2

,.., a
N

và khoỏ k cn tỡm
i 1
a
i
= k ?
Đưa ra i v a
i
=k
rồi End
Đ
S
Đ
i i + 1
i > N ?
Thông báo dãy A
không có số hạng
có giá trị bằng k,
End
S

5
4321i
5125118924175A
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
Với mọi i từ 1 10 không có a
i
có giá trị bằng 6
5
1
2
3 4
5
6 7
8
9 10
11

×