Bai 4 Bai Toan va thuat toan tt tiet 15 Exchange Sort

16 6 0
Bai 4 Bai Toan va thuat toan tt tiet 15 Exchange Sort

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Là các thao tác được Cómột 2 dãy hữu hạn Nhập/xuấ Sơ đồ Liệt kê sắp xếp định sao cách : theo mộtt trình tự xác khối B1… cho sau khi thực hiện dãy thao tác ấy, B2… từ Input của bài toán, [r]

(1)TRƯỜ NG THPT PHÚ MỸ Bµi gi¶ng BÀI BÀI TOÁN VÀ THUẬT TOÁN (TT) Giáo viên: Phan Thanh Hưởng (2)  CÂU HỎI ÔN TẬP Các hình sau đây thao tác Có Emmáy hãycách nêu khái biểuthể niệm diễn thuật thuật gì? toán? toán? Là các thao tác Cómột dãy hữu hạn Nhập/xuấ Sơ đồ Liệt kê xếp định cách : theo mộtt trình tự xác khối B1… cho sau thực dãy thao tác ấy, B2… từ Input bài toán, ta nhận So sánh Output cần tìm.B3… Bn.Tính toán Trình tự thực (3) VÍ DỤ BÀI TOÁN SẮP XẾP Cho dãy A gồm N số nguyên a1,a2 , ,aN Cần xếp các số hạng dãy A trở thành dãy không giảm Thuật toán sắpAxếp tráo (Exchange Sort) Ví dụ: dãy gồm các số đổi nguyên : 6, 1, 1) định 3,Xác 5, 3, 10,bài sau xếp ta có toán gồm dãy : 1, Dãy 3, 3,A 5, 6, N 7,số 10nguyên , ,a 1,a2 A N Dãy xếp thành dãy -Input: Output: a không giảm 2) Ý tưởng: Với cặp số hạng đứng kề Ý nhau, số đứng trước lớn số đứng tưởng? sau ta đổi chổ chúng cho Lặp lại không còn đổi chổ nào xảy (4) 10 10 10 10 10 10 7 (5) 3) Thuật toán Mô thực tế a) Cách liệt kê Bước Nhập N, các số hạng a1,a2, ,aN Bước M  N ; Bước Nếu M<2 ,dãy A đã xếp, kết thúc; Bước MM-1, i0; Bước ii+1; Bước Nếu i>M thì quay lại bước 3; Bước Nếu > ai+1 thì hoán đổi và ai+1; Bước Quay lại bước (6) a) Sơ đồ khối Nhập N và a1,a2, ,aN MN Đúng M<2? Sai MM-1; i0 ii+1 Đúng Tráo đổi và ai+1 Đúng i>M? Sai ai>ai+ ? Sai Đưa dãy A kết thúc (7) a) Cách liệt kê B1 Nhập N, các số a1,a2, ,aN b)Sơ đồ khối Nhập N và a1,a2, ,aN MN B2 M  N ; M<2 ? B3 Nếu M<2 ,dãy A sx, kết B4 thúc; MM-1, i0; Sai MM-1; i0 ’ ii+1 B5 ii+1; B6 Nếu i>M, quay lại b3; B7 Nếu > ai+1 hoán đổi và ai+1; B8 Quay lại b5 Đúng Đúng Đúng Tráo đổi và ai+1 i>M ? Sai ai>ai+ ? Sa i Đưa dãy A sx, kết thúc (8) MÔ TẢ THUẬT TOÁN 5 6 B1 Nhập N, a1,a2, ,aN B2 M  N ; B3 Nếu M<2, dãy A sx, kt; B4 MM-1, i0; B5 ii+1; B6 Nếu i>M, quay lại b3; B7 Nếu > ai+1 , hoán đổi và ai+1; B8 Quay lại b5 (9) Lần duyệt thứ i M N=6 B1 Nhập N, a1,a2, ,aN B2 M  N ; B3 Nếu M<2, dãy A sx, kt; B4 MM-1, i0; B5 ii+1; B6 Nếu i>M, quay lại b3; B7 Nếu > ai+1 , hoán đổi và ai+1; (10) N=6 Lần duyệt thứ hai i Mi B1 Nhập N, a1,a2, ,aN B2 M  N ; B3 Nếu M<2, dãy A sx, kt; B4 MM-1, i0; B5 ii+1; B6 Nếu i>M, quay lại b3; B7 Nếu > ai+1 , hoán đổi và ai+1; (11) N=6 Lần duyệt thứ ba i Mi B1 Nhập N, a1,a2, ,aN B2 M  N ; B3 Nếu M<2, dãy A sx, kt; B4 MM-1, i0; B5 ii+1; B6 Nếu i>M, quay lại b3; B7 Nếu > ai+1 , hoán đổi và ai+1; (12) Lần duyệt thứ năm tư i M i N=6 B1 Nhập N, a1,a2, ,aN B2 M  N ; B3 Nếu M<2, dãy A sx, kt; B4 MM-1, i0; B5 ii+1; B6 Nếu i>M, quay lại b3; B7 Nếu > ai+1 , hoán đổi và ai+1; (13) Nhận xét thuật toán - Ta thấy quá trình so sánh và đổi chỗ sau lần duyệt thực với dãy đã bỏ bớt số hạng cuối dãy Biến M làm điều này, M có giá trị khởi tạo là N, sau lần duyệt M giảm đơn vị M<2 - i là biến số thay đổi từ đến M+1 B1 Nhập N, a1,a2, ,aN B2 M  N ; B3 Nếu M<2, dãy A sx, kt; B4 MM-1, i0; B5 ii+1; B6 Nếu i>M, quay lại b3; B7 Nếu > ai+1 , hoán đổi và ai+1; B8 Quay lại b5 (14) * Câu hỏi cố kiến thức Từ thuật toán xếp dãy không giảm bên theo em cần sửa đổi bước nào để trở thành thuật toán xếp dãy không tăng? < ai+1 a) Cách liệt kê B1 Nhập N, các số a1,a2, ,aN B2 M  N ; B3 Nếu M<2 ,dãy A sx, kết B4 MM-1, i0; thúc; B5 ii+1; B6 Nếu i>M, quay lại b3; B7 Nếu > ai+1 hoán đổi và ai+1; B8 Quay lại b5 ’ (15) Bài tập ứng dụng Cho dãy A gồm N số nguyên a1,a2 , ,aN Cần xếp các số hạng dãy A cho số chẵn đứng trước số lẻ đứng sau (16) (17)

Ngày đăng: 14/06/2021, 23:37

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan