Tổng quát : Cho một dãy đối tượng hãy tìm ra đối tượng thỏa mãn một yêu cầu nào đó (khóa của tìm kiếm)... Thuật toán tìm kiếm tuần tự.[r]
(1)Tiết 12
Bài 4. BÀI TOÁN VÀ THUẬT TOÁN
(2)2
3 Các ví dụ thuật tốn
b)Ví dụ : Bài tốn tìm kiếm
Trong sống, ta thường gặp yêu cầu liên quan đến tìm kiếm:
- Tìm học sinh có điểm tổng kết cao - Tìm người trẻ tuổi hội thi …
(3)XÁC ĐỊNH BÀI TOÁN
OUPUT
INPUT Dãy A gồm N số nguyên khác nhau a1,a2,…,aN số nguyên k
Chỉ số i mà ai=k thơng báo khơng có số hạng dãy A có giá trị k
BÀI TOÁN:
(4)4
TÌM KIẾM TUẦN TỰ
TÌM KIẾM TUẦN TỰ
Ví dụ:
Dãy A gồm số
5 7 4 2 9 6
8 10
a1 a2 a3 a4 a5 a6 a7 a8 N=8 K=2 2 || k ≠ ≠ ≠ ≠ ≠ || Tìm thấy
, có a6=k, số cần tìm i=6
K=3 , khơng có giá trị
(5)5
TÌM KIẾM TUẦN TỰ
TÌM KIẾM TUẦN TỰ
(Sequential Search)
(Sequential Search)
•Ý tưởng:
Lần lượt từ số hạng thứ (i chạy từ 1, 2,3,…), ta so sánh giá trị số hạng với khóa (K) đến khi:
- Gặp số hạng khóa k đưa số i số hạng
(6)6
Thuật tốn tìm kiếm tuần tự
Thuật tốn tìm kiếm tuần tự
SƠ ĐỒ KHỐI
B1 Nhập N, a1,a2,…aN,
khóa k;
B2 i1;
B3 Nếu ai=k thơng
báo số i kết thúc;
B4 ii+1;
B5.Nếu i>N thơng báo dãy A khơng có số hạng có giá trị bằng k, kết thúc;
B6 Quay lại bước 3.
LIỆT KÊ
Nhập N, a1,a2….,aN,k
i1
ai=k Đưa i kết thúc ii+1
i>N?
Thơng báo dãy A khơng có số hạng có giá trị k kết thúc
Đúng
Sai
(7)(8)Chú ý:
1.Áp dụng thuật toán dãy chưa xếp.
2.Nguyên tắc tìm kiếm phải xác định khóa
(9)Dặn dị
1.Hồn thiện tập từ đến sgk trang 44
(10)XÁC ĐỊNH BÀI TOÁN OUPUT
INPUT Dãy A gồm N, dãy a1,a2,…,aN Dem (số lượng số =0)?
BÀI 7.sgk tr 44:
Dãy A gồm N số nguyên a1,a2,…,aN Đưa ra: số lượng số dãy
Áp dụng thuật tốn tìm kiếm
(11)(12)12
BÀI 7:ÁP DỤNG TÌM KIẾM TUẦN TỰ
BÀI 7:ÁP DỤNG TÌM KIẾM TUẦN TỰ
•Ý tưởng:
- Khởi tạo Dem0;
(13)B1 Nhập N, a1,a2,…aN.
B2 i1; Dem0
B3 Nếu ai=0 DemDem + 1
B4 ii+1;
B5.Nếu i>N đưa Dem, kết thúc;
B6 Quay lại bước 3.
LIỆT KÊ
BÀI 7:ÁP DỤNG TÌM KIẾM TUẦN TỰ
(14)14 SƠ ĐỒ KHỐI
Nhập N, a1,a2….,aN
i1; Dem0 ai=0
ii+1
i>N?
Đưa Dem kết thúc
Đúng
Sai
Đúng Sai
DemDem +1
BÀI 7:ÁP DỤNG TÌM KIẾM TUẦN TỰ
(15)