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

Thuật toán sắp xếp tráo đổi

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 (594.94 KB, 17 trang )

THUẬT TOÁN SẮP XẾP
THUẬT TOÁN SẮP XẾP
BẰNG TRÁO ĐỔI
BẰNG TRÁO ĐỔI
Lê Anh Nhật
Lê Anh Nhật
Email:
Email:
2
1. Xác định bài toán
1. Xác định bài toán
Input
Dãy A gồm N số nguyên a
Dãy A gồm N số nguyên a
1
1
, a
, a
2
2
, ..., a
, ..., a
N
N
.
.
Dãy A được sắp xếp lại
Dãy A được sắp xếp lại
thành dãy không giảm.
thành dãy không giảm.
Output


3
2. Ý tưởng
2. Ý tưởng

Với mỗi cặp số hạng đứng liền kề
trong dãy, nếu số trước lớn hơn số
sau ta đổi chỗ chúng cho nhau.

Việc đó được lặp lại cho đến khi
không có sự đổi chỗ nào xảy ra
nữa.
?
4
3. Thuật toán liệt kê
3. Thuật toán liệt kê
Bước 1
Nhập N, các số hạng a
1
, a
2
, ..., a
N
;
Bước 2 M := N;
Bước 3
Nếu M<2 thì đưa ra dãy A đã được
sắp xếp, rồi kết thúc;
Bước 4 M := M-1; i := 0;
5
3. Thuật toán liệt kê

3. Thuật toán liệt kê
Bước 5 i := i + 1;
Bước 6 Nếu i > M thì quay lại bước 3;
Bước 7
Nếu a
i
> a
i+1
thì đổi a
i
và a
i+1
cho nhau;
Bước 8 Quay lại bước 5;
6
4. Thuật toán sơ đồ khối
4. Thuật toán sơ đồ khối
Nhập: N, a
1
, a
2
, ..., a
N
M := N
M < 2
S
M := M-1; i := 0;
Đưa dãy A ra
End.
Begin

Đ
i := i+1;
i > M
a
i
> a
i+1
Tráo đổi a
i
và a
i+1
Đ
S
S
Đ

×