Bài toán tìm kiếm Cho dãy A gồm N số nguyên khác nhau :A1…An và một số nguyên K... Các bước để giải quyết một bài toán.
Trang 1B.1 : Nhập N và các số hạng
a 1 , a 2 ,…,a n ; B.2 : M ← N ;
B.3 : Nếu M < 2 thì đưa ra dãy A đã được sắp xếp Kết thúc;
B.4 : M ← M-1 ; i ← 0 ; B.5 : i ← i - 1 ;
B.6 : Nếu i > M thì quay lại bước 3;
B.7 : Nếu a i < a i+1 thì tráo đổi a i và a i+1 cho nhau; B.8 : Quay lại bước 5;
Thuật toán sắp xếp dãy số giảm dần
KIỂM TRA BÀI CŨ
Bài toán : Cho
số nguyên n
và dãy A1…
An
Viết thuật
toán thực hiện
sắp xếp dãy
đã cho theo
chiều giảm
dần
Xác định bài toán:
- Input: N, dãy A1…An
-Output: Dãy A1…An được sắp
xếp giảm dần
Trang 2Tiết 13: BÀI TOÁN VÀ THUẬT TOÁN (tt)
3 Mốt số ví dụ về thuật toán :
Ví dụ 3 Bài toán tìm kiếm
Cho dãy A gồm N số nguyên khác nhau :A1…An
và một số nguyên K
Cần biết chỉ số i (1<= i <= N) mà Ai = K Nếu có
hãy cho biết chỉ số đó
(Biết vị trí của phần tử mà có giá trị bằng K )
Trang 39 6 12 5
i
12
K =
Thuật toán tìm kiếm tuần tự
Đ
Ai = K ?
Nhập n và A1,A2,
…An; K
i 1
i i+1
i > n?
Thông báo dãy A
ko có giá trị =K rồi
kết thúc
Đưa ra i, rồi kết thúc
S
Đ S
Đ
Ai = K ?
Nhập n và A1,A2,
…An; K
Nhập n và A1,A2,
…An; K
i 1
i i+1
i > n?
Đưa ra i, rồi kết thúc
Đưa ra i, rồi kết thúc
S
Đ S
9=12
?6=12
?12=12
?
2>4 ? 3>4 ?
i = 3
Trang 4Mô phỏng thực hiện thuật toán
- Với k = 6
1 2 3 4
i
n = 4
A1 = 2 ≠ 6 A2 = 7≠ 6 A3 = 5 ≠ 6 A4 = 4≠ 6
5> N
Không có
phần tử nào
có giá trị bằng 6
< N < N = N
Trang 5Các bước để giải quyết một bài toán
Trang 6Kiến thức