Giáo án và PPT Khoa học máy tính 11 cánh diều Bài 8: Lập trình một số thuật toán sắp xếp
Đồng bộ giáo án word và powerpoint (ppt) Bài 8: Lập trình một số thuật toán sắp xếp. Thuộc chương trình Tin học 11 Khoa học máy tính Cánh diều. Giáo án được biên soạn chỉnh chu, hấp dẫn. Nhằm tạo sự lôi cuốn và hứng thú học tập cho học sinh.
Click vào ảnh dưới đây để xem giáo án WORD rõ nét
Giáo án ppt đồng bộ với word
Còn nữa....
Các tài liệu bổ trợ khác
Xem toàn bộ: Trọn bộ giáo án và PPT Khoa học máy tính 11 cánh diều
BÀI 8. LẬP TRÌNH MỘT SỐ THUẬT TOÁN SẮP XẾP
HOẠT ĐỘNG KHỞI ĐỘNG
GV yêu cầu HS trả lời câu hỏi Khởi động tr.122 SGK:
Trình quản lí tệp của hệ điều hành cho phép lựa chọn hiển thị nội dung của thư mục được sắp xếp thứ tự theo vài cách khác nhau. Em hãy cho biết một trong số các lựa chọn này và giải thích rõ thêm tiêu chí (yêu cầu) sắp xếp tương ứng.
HOẠT ĐỘNG HÌNH THÀNH KIẾN THỨC
Hoạt động 1: Bài toán sắp xếp
GV yêu cầu học sinh trao đổi:
1. Sắp xếp có nghĩa là gì?
2. Phân biệt sắp xếp tại chỗ và không tại chỗ.
3. Nghịch thế là gì? Nghịch thế có vai trò gì trong thuật toán sắp xếp.
Sản phẩm dự kiến:
- Trong tin học, 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, tức là đáp ứng một yêu cầu cụ thể về trình tự.
- Yêu cầu sắp xếp cần chỉ rõ cách so sánh hai mục dữ liệu để quyết định thứ tự.
Ví dụ: Bài toán sắp xếp đơn giản và minh họa bằng sắp xếp dãy số.
- Đầ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 (không giảm).
Sắp xếp tại chỗ và không tại chỗ
- Một thuật toán không 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 được gọi là sắp xếp tại chỗ.
- Nếu thuật toán 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ế.
- Một thuật toán sắp xếp dựa trên ý tưởng giảm dần và tiến đến triệt tiêu các nghịch thế trong dãy.
Hoạt động 2: Thuật toán sắp xếp nổi bọt (Bubble Sort)
Dựa trên minh họa diễn biến từng bước của thuật toán sắp xếp nổi bọt được trình bày như ở Hình 1, em hãy nêu tóm tắt ý tưởng của thuật toán này.
Sản phẩm dự kiến:
- Ý tưởng sắp xếp nổi bọt (Bubble Sort):
+ Xét lần lượt các cặp phần tử liên tiếp: nếu ai > ai+1 thì đổi chỗ [ai, ai+1].
+ Lặp lại cho đến khi triệt tiêu hết các cặp nghịch thế.
+ Có thể chứng minh sau vòng lặp 1 thì số lớn nhất trong dãy sẽ được chuyển đến vị trí cuối dãy, tức là phần tử a[n – 1] đã ở đúng vị trí. Như vậy vòng lặp 2 chỉ cần rà soát nghịch thế và đổi chỗ đến vị trí n – 2.
- Sau vòng lặp i thì phần tử a[n – i – 1] đã ở đúng vị trí.
- Mã giả của thuật toán sắp xếp nổi bọt:
Hoạt động 3: Thuật toán sắp xếp chèn tuyến tính (Insertion Sort)
Nêu kết luận về thuật toán sắp xếp chèn tuyến tính (Insertion Sort) ?
Sản phẩm dự kiến:
Ý tưởng sắp xếp chèn tuyến tính:
- Vì dãy con a0 chỉ có một phần tử, nên dãy con này có thứ tự.
- Lặp lại việc chèn ai với 1 ≤ i < n như sau:
Xét dãy con a0,..., ai – 1 đã có thứ tự, ta chèn ai vào dãy con này sao cho dãy con sau khi chèn sẽ có thứ tự.
Mô tả thuật toán chèn tuyến tính:
Mô tả các bước của thuật toán như sau:
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;
Để “chèn ai vào đúng chỗ của nó” trong dãy a0, a1 ,..., ai – 1 cần:
a) Tìm được chỗ đúng thứ tự của ai: Cho k đi từ i – 1 qua trái cho đến khi ak ≤ ai hoặc k = – 1.
b) Lấy ai ra khỏi dãy; dịch chuyển dãy ak + 1 ,..., ai – 1 sang phải một vị trí để có chỗ trống tại ak + 1; đưa ai vào chỗ trống đó.
Mã giả thuật toán sắp xếp chèn tuyến tính
Thuật toán sắp xếp chèn tuyến tính kết hợp làm đồng thời hai việc a) và b) theo cách dịch chuyển dần từng bước sang trái, từ vị trí i tới vị trí k + 1.
- Vòng lặp for bên ngoài kiểm soát việc thực hiện đúng n – 1 bước.
- Vòng lặp while lồng bên trong thực hiện đồng thời cùng lúc hai việc a) và b) trong mỗi bước.
Hoạt động 4: Thực hành
Sau khi thực hiện nhiệm vụ 1,2,3 ta có kết luận sau ?
Sản phẩm dự kiến:
- Thuật toán sắp xếp nổi bọt có hai vòng lặp lồng nhau; vòng lặp trong thực hiện đổi chỗ một lượt các cặp phần tử là nghịch thế, vòng lặp ngoài kiểm tra điều kiện “không xảy ra đổi chỗ”.
- Việc tìm vị trí chèn đúng chỗ trong thuật toán sắp xếp chèn có thể thực hiện bằng cách dịch dần từng bước.
HOẠT ĐỘNG LUYỆN TẬP
Câu 1. Ý tưởng sau đây minh họa thuật toán nào?
- Vì dãy con a0 chỉ có một phần tử, nên dãy con này có thứ tự.
- Lặp lại việc chèn ai với 1 ≤ i < n như sau:
Xét dãy con a0,..., ai – 1 đã có thứ tự, ta chèn ai vào dãy con này sao cho dãy con sau khi chèn sẽ có thứ tự.
A. Thuật toán sắp xếp nổi bọt. B. Thuật toán tìm kiếm nhị phân.
C. Thuật toán sắp xếp chèn tuyến tính. D. Thuật toán tìm kiếm tuần tự.
Câu 2. Một cặp hai phần tử (ai, aj) gọi là nghịch thế nếu
A. i < j mà ai > aj. B. i > j mà ai < aj.
C. i > j mà ai > aj. D. i < j mà ai < aj.
Câu 3. Ước lượng độ phức tạp thời gian của thuật toán sắp xếp chèn tuyến tính là
A. O(n). B. O(n2). C. O(log2n). D. O(n!).
Câu 4. Thuật toán sắp xếp nổi bọt có bao nhiêu vòng lặp lồng nhau?
A. 2. B. 3. C. 4. D. 5.
Câu 5. Số lượng nghịch thế tối đa của một dãy A gồm n số nguyên phân biệt là
A. n – 1. B. n. C. . D. .
Đáp án gợi ý:
Câu 1 | Câu 2 | Câu 3 | Câu 4 | Câu 5 |
C | A | B | A | D |
HOẠT ĐỘNG VẬN DỤNG
GV yêu cầu HS hoạt động nhóm đôi hoàn thành Vận dụng SGK trang 126:
Cho danh sách Bảng điểm là kết quả học tập gồm các cột Họ và tên, điểm Toán, điểm Ngữ văn, điểm Tin học,... Hãy viết chương trình sắp xếp Bảng điểm theo điểm môn Tin học giảm dần.
Trên chỉ là 1 phần của giáo án. Giáo án khi tải về có đầy đủ nội dung của bài. Đủ nội dung của học kì I + học kì II
Hệ thống có đầy đủ các tài liệu:
- Giáo án word (350k)
- Giáo án Powerpoint (400k)
- Trắc nghiệm theo cấu trúc mới (200k)
- Đề thi cấu trúc mới: ma trận, đáp án, thang điểm..(200k)
- Phiếu trắc nghiệm câu trả lời ngắn (200k)
- Trắc nghiệm đúng sai (250k)
- Lý thuyết bài học và kiến thức trọng tâm (200k)
- File word giải bài tập sgk (150k)
- Phiếu bài tập để học sinh luyện kiến thức (200k)
- ...
Có thể chọn nâng cấp lên VIP đê tải tất cả ở tài liệu trên
- Phí nâng cấp VIP: 700k/năm
=> Chỉ gửi 450k. Tải về dùng thực tế. Nếu hài lòng, 7 ngày sau mới gửi phí còn lại
Cách nâng cấp:
- Bước 1: Chuyển phí vào STK: 1214136868686 - cty Fidutech - MB(QR)
- Bước 2: Nhắn tin tới Zalo Fidutech - nhấn vào đây để thông báo và nhận tài liệu
Xem toàn bộ: Trọn bộ giáo án và PPT Khoa học máy tính 11 cánh diều
TÀI LIỆU GIẢNG DẠY TIN HỌC 11 KẾT NỐI TRI THỨC
Giáo án tin học 11 theo định hướng tin học ứng dụng kết nối tri thức
Giáo án khoa học máy tính 11 kết nối tri thức đủ cả năm
Giáo án tin học ứng dụng 11 kết nối tri thức đủ cả năm
Giáo án chuyên đề Tin học 11 Định hướng tin học ứng dụng kết nối tri thức
Giáo án chuyên đề Tin học 11 Định hướng khoa học máy tính kết nối tri thức
Giáo án powerpoint Tin học 11 Định hướng khoa học máy tính kết nối tri thức
Giáo án powerpoint Tin học 11 Định hướng tin học ứng dụng kết nối tri thức
Giáo án điện tử khoa học máy tính 11 kết nối tri thức
Giáo án điện tử tin học ứng dụng 11 kết nối tri thức