Bài học cùng chủ đề
Báo cáo học liệu
Mua học liệu
Mua học liệu:
-
Số dư ví của bạn: 0 coin - 0 Xu
-
Nếu mua học liệu này bạn sẽ bị trừ: 2 coin\Xu
Để nhận Coin\Xu, bạn có thể:

Bài 8. Lập trình một số thuật toán sắp xếp SVIP
Tải đề xuống bằng file Word
1. Bài toán sắp xếp
Thuật ngữ sắp xếp đề cập đến việc tổ chức lại một tập hợp dữ liệu theo một tiêu chí sắp xếp (đáp ứng tiêu cầu về cụ thể về trình tự).
⚡Ví dụ. Cho dãy số, yêu cầu sắp xếp "theo thứ tự tăng dần (giảm dần)".
- Đầu vào: Dãy n số a0, a1,..., an-1
- Đầu ra: Dãy được sắp xếp theo thứ tự tăng dần (giảm dần).
Sắp xếp tại chỗ và không tại chỗ
Sắp xếp tại chỗ khi không phải dùng thêm một dãy khác ở bên ngoài dãy ban đầu để thực hiện sắp xếp (chỉ đổi chỗ các phần tử trong dãy ban đầu).
Nếu sử dụng một dãy khác ở bên ngoài dãy ban đầu để chứa kết quả thì gọi là sắp xếp không tại chỗ.
Nghịch thế
Nếu i < j mà ai > aj thì cặp hai phần tử (ai, aj) gọi là một nghịch thế. Dãy số chưa sắp đúng thứ tự khi còn ít nhất một nghịch thế.
Câu hỏi:
@204547321452@@204548666104@
2. Thuật toán sắp xếp nổi bọt
Kí hiệu thể hiện thao tác đổi chỗ khi có nghịch thế.
Khi duyệt thêm một lượt nhưng không tìm thấy cặp nghịch thế nào → dùng biến logic True hoặc False lưu vết tùy theo có xảy ra đổi chỗ hay không.
Câu hỏi:
@202014363631@
3. Thuật toán sắp xếp chèn tuyến tính
Mô tả các bước của thuật toán:
Bước 0. i ← 1;
Bước 1.
if i ≥ n: kết thúc;
else: val ← ai; k ← i - 1;
Bước 2.
if k ≥ 0:
if ak > val: ak+1 ← ak; k ← k - 1; đến Bước 2;
Bước 3. ak+1 ← val; i ← i + 1; đến Bước 1;
Câu hỏi:
@202014341296@
Bạn có thể đăng câu hỏi về bài học này ở đây