B.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
Tiế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 )
9 6 12
5
4
n
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 ?
Ai = K ?
Nhập n và A1,A2,
…An; K
Nhập n và A1,A2,
…An; K
i 1
i 1
i i+1
i i+1
i > n?
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
4
Mô phỏng thực hiện thuật toán
- Với k = 6
A 2 7 5 4
1 2 3 4
i
n = 4
A1 = 2 ≠ 6A2 = 7≠ 6A3 = 5 ≠ 6A4 = 4≠ 6
5
> N
Không có
phần tử nào
có giá trị bằng 6
< N < N = N
Các bước để giải quyết một bài toán
Kiến thức