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

Bài 4 Thuật toán

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 (451.64 KB, 14 trang )



• Tìm kiếm là việc thường xảy ra trong cuộc sống, chẳng hạn cần tìm
cuốn sách giáo khoa Tin học lớp 10 trên giá sách, cần tìm một học
sinh trong danh sách 1 lớp học,… Nói một cách tổng quát là cần tìm
một đối tượng cụ thể nào đó trong tập các đối tượng cho trước.
• Dưới đây ta chỉ xét bài toán đơn giản sau:

Cho dãy A số N 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
chỉ số đó.

Số nguyên k được gọi là khoá tìm kiếm(gọi tắt là khoá).
• Ví dụ, cho dãy A gồm các số 5,7,1,4,2,9,8,11,25,51.

Với khoá k=2, trong dãy trên có số hạng a
5
có giá trị bằng k. Vậy chỉ
số cần tìm là i=5;
• Với khoá k=6 thì không có số hạng nào của dãy A có giá trị bằng k.

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


Input: Dãy A gồm N số nguyên khác nhau a
1
,a
2
… a
N

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.
• Ý tưởng: Tìm kiếm tuần tự được thực hiện một cách
ngẫu 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á cho đến khi hoặc gặp một
số hạng bằng khoá hoặc dãy đã được xét hết và không
có giá trị nào bằng khoá. Trong trường hợp thứ hai dãy A
không có số hạng nào bằng khoá.

a) Cách liệt kê

Bước 1: Nhập N, các số hạng a
1
, a
2
,…a
N
và khoá k;


Bước 2: i←1;

Bước 3: Nếu a
i
=k thì thông báo chỉ số i, rồi kết thúc

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 rồi kết thúc;
• Bước 6: Quay lại bước 3.
• Ghi chú: Trong thuật toán trên, i là biến chỉ số và nhận giá trị nguyên
lần lượt từ 1 đến N+1.

b) Sơ đồ khối
Nhập N và a
1
,a
2
,…a
N
;k
i← 1
a
i
= k
Đưa ra i rồi kết thúc
Đúng
Sai
i← i + 1
i> N ?

Đúng
Thông báo dãy A không có số
hạng có giá trị bằng k rồi kết thúc
Sai

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×