Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
462,5 KB
Nội dung
THUẬT TOÁNSẮPXẾPTHUẬTTOÁNSẮPXẾP BẰNG TRÁOĐỔI BẰNG TRÁOĐỔI Lê Anh Nhật Lê Anh Nhật Email: leanhnhat@tuyenquang.edu.vn Email: leanhnhat@tuyenquang.edu.vn 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ắpxếp lại Dãy A được sắpxế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ậttoán liệt kê 3. Thuậttoá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ậttoán liệt kê 3. Thuậttoá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ậttoán sơ đồ khối 4. Thuậttoá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 Đ 7 5. Ví dụ mô phỏng 5. Ví dụ mô phỏng 6 2 5 3 7 8 10 7 12 4 Cho dãy số có 10 phần tử: Sắpxếp dãy trên tăng dần theo thật toántráo đổi? 8 5. Ví dụ mô phỏng 5. Ví dụ mô phỏng 6 2 5 3 7 8 10 7 12 4 M = 9; 2 65 6 63 7 10 4 12 9 5. Ví dụ mô phỏng 5. Ví dụ mô phỏng M = 8; 2 5 3 6 7 8 7 10 4 123 5 7 8 4 10 10 5. Ví dụ mô phỏng 5. Ví dụ mô phỏng M = 7; 2 3 5 6 7 7 8 4 10 124 8 [...]... phỏng M = 2; 2 3 4 5 6 7 7 8 15 10 12 5 Ví dụ mô phỏng M = 1; Ta được dãy đã sắp xếp: 2 3 4 5 6 7 7 8 Kết thúc 16 10 12 6 Bài tập 1 2 Cho dãy số có 13 số: 3, 6, 2, 5, 13, 21, 1, 9, 10, 14, 15, 2, 8 Áp dụng thuật toán trên để sắp xếp dãy trên giảm dần? Từ thuật toán trên, sử dụng ngôn ngữ lập trình mà bạn biết để lập trình bài toán tổng quát đó? 17 . 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: leanhnhat@tuyenquang.edu.vn. thuật toán trên để sắp xếp dãy trên Áp dụng thuật toán trên để sắp xếp dãy trên giảm dần? giảm dần? 2. 2. Từ thuật toán trên, sử dụng ngôn ngữ lập Từ thuật