Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 43 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
43
Dung lượng
473 KB
Nội dung
SỞ GIÁO DỤC VÀ ĐÀO TẠO TỈNH NGHỆ AN TRƯỜNG THPT CON CNG Tên đề tài: VẬN DỤNG THUẬT TỐN SẮP XẾP, TÌM KIẾM VÀO VIỆC BỒI DƯỠNG HỌC SINH GIỎI, THI CHUN PHAN TRÊN NGƠN NGỮ LẬP TRÌNH C++ Người thực hiện: Đặng Văn Hảo Đơn vị: Trường THPT Con Cuông Con Cuông – Năm 2021 PHỤ LỤC Trang PHẦN I: ĐẶT VẤN ĐỀ I LÝ DO CHỌN ĐỀ TÀI II ĐỐI TƯỢNG NGHIÊN CỨU .4 III MỤC ĐÍCH NGHIÊN CỨU, ĐÓNG GÓP MỚI CỦA ĐỀ TÀI IV PHƯƠNG PHÁP NGHIÊN CỨU V CẤU TRÚC CỦA CHUYÊN ĐỀ PHẦN II NỘI DUNG NGHIÊN CỨU CHƯƠNG I CƠ SỞ LÍ LUẬN 1.1.1 Sắp xếp chọn (Selection sort) 1.1.2 Sắp xếp chèn (Insertion sort) 1.1.3 Sắp xếp bọt (Bubble sort) .10 1.1.4 Sắp xếp theo phân đoạn (Quick Sort) 11 1.1.5 Sắp xếp trộn (Merge sort) .13 1.1.6 Sắp xếp vun đống (Heap sort) 15 1.2 Thuật tốn tìm kiếm 18 1.2.1 Tìm kiếm tuyến tính 19 1.2.2 Tìm Kiếm nhị phân .20 CHƯƠNG II: CƠ SỞ THỰC TIỄN 22 2.1 Thực trạng học sinh giáo viên trước chưa áp dụng đề tài .22 2.2 Cách sử dụng thư viện có sẵn C++ .23 2.3 Bài tập ứng dụng 24 2.3 Bài tập có lời giải 24 Bài Dựng cọc .24 Bài Xếp việc 25 Bài Đua ngựa 28 Bài Đoạn gối 30 Bài Băng nhạc .32 Bài Lo cò 34 2.3.2 Bài tập tự giải 36 Bài Bước nhảy xa .36 Bài Khoảng Cách 37 Bài Bài tốn túi ( với số lượng vật khơng hạn chế) 37 Bài Đoạn bao .38 Bài Phủ đoạn .38 Bài Số nguyên nhỏ .39 Bài Cỏ Dại 39 Bài Dãy số 40 Bài Đoạn rời 41 2.4 Kết sau áp dụng đề tài 41 PHẦN III KẾT LUẬN Với mục tiêu đề đề tài làm 42 Hướng phát triển đề tài 42 Kiến nghị đề xuất 42 TÀI LIỆU THAM KHẢO 43 PHẦN I: ĐẶT VẤN ĐỀ I LÝ DO CHỌN ĐỀ TÀI Trong sống có nhiều cơng việc thực hiện, quan trọng cơng việc xếp thực vào thời gian hợp lý quy trình thực quan trọng Với việc giải toán tin học vậy, phải biết lựa chọn cho thuật tốn hiệu để giải tốn Ở phương diện lập trình lập trình hiệu thời gian chạy nhanh dung lượng nhớ sử dụng độ phức tạp thuật tốn bé Đối với số tốn nhìn trơng khó, phức tạp Nhưng để ý quan sát, cần dùng thuật tốn xếp, tìm kiếm để chuyển tốn sang một hướng từ giải toán cách đơn giản nhiều Mặt khác tin học xếp lại có nhiều phương pháp, chọn cho phương pháp dễ nhớ, dễ hiểu mà khơng để ý đến thời gian dung lượng chương trình Nếu học sinh lớp thường điều học sinh giỏi giáo viên bồi dưỡng học sinh giỏi phải có suy nghĩ khác Để giúp cho em hiểu thêm nắm rõ phương pháp xếp tìm kiếm Tơi tìm hiểu đề tài “Vận dụng thuật tốn xếp, tìm kiếm vào việc bồi dưỡng học sinh giỏi, thi chuyên phan ngôn ngữ lập trình C+ +” Với đề tài em biết lựa chọn cho phương pháp xếp, tìm kiếm hợp lý việc giải tốn Từ nâng cao kĩ xử lí gặp tốn mà vận dụng thuật tốn xếp, tìm kiếm cách hiệu nhất, độ phức tạp nhỏ nhanh II ĐỐI TƯỢNG NGHIÊN CỨU - Đối tượng nghiên cứu học sinh ôn thi học sinh giỏi, thi vào chuyên tin trường Phan, giáo viên giảng dạy môn Tin trường THPT - Các thuật tốn xếp, tìm kiếm ứng dụng vào tốn III MỤC ĐÍCH NGHIÊN CỨU, ĐÓNG GÓP MỚI CỦA ĐỀ TÀI Trên sở nghiên cứu, thuật tốn xếp, tìm kiếm cịn đưa ứng dụng việc giải lớn máy tính Nhằm giúp học sinh, giáo viên có nhìn tổng qt phần tầm quan trọng thuật toán xếp, tìm kiếm trình bày tốn thường gặp, cách giải, cài đặt chương trình NNLT C Từ nâng cao kĩ xử lí tốn khó, phức tạp có liên quan đến thuật tốn xếp tìm kiếm Đồng thời hướng dẫn sử dụng số hàm có sẵn C++ IV PHƯƠNG PHÁP NGHIÊN CỨU Để hoàn thành nhiệm vụ đề tài, nghiên cứu nhiều sách chuyên đề Tin học dành cho viêc bồi dưỡng học sinh giỏi tin, vấn đề cấu trúc liệu, thuật toán cài đặt chương trình Lựa chọn số tốn giải áp dụng thuật tốn xếp chương trình tin học chuyên THPT V CẤU TRÚC CỦA CHUYÊN ĐỀ Ngoài phần đặt vấn đề phần kết luận nội dung đề tài gồm chương: Cơ sở lý luận Trình bày đầy đủ thuật tốn xếp, tìm kiếm với quy trình phương pháp chương trình cụ thể để bạn đọc dễ hiểu Qua vận dụng để giải toán sau Cơ sở thực tiễn Nêu thực trạng vấn đề học sinh giáo viên việc giải tốn lớn, tốn ơn thi học sinh giỏi Qua giải vấn đề cách liệt kê đưa tốn điển hình có sử dụng thuật tốn xếp, tìm kiếm để vận dụng lập trình giải tốn đề thi hay ôn luyện Trang bị kiến thức cho học sinh giáo viên để giải tốt gặp tốn có liên quan đến phương pháp xếp, tìm kiếm cách hiệu PHẦN II NỘI DUNG NGHIÊN CỨU CHƯƠNG I CƠ SỞ LÍ LUẬN 1.1 Thuật tốn xếp Sắp xếp trình xử lý danh sách phần tử (hoặc mẫu tin) để đặt chúng theo thứ tự thỏa mãn tiêu chuẩn dựa nội dung thơng tin lưu giữ phần tử Hay đơn giản ta hiểu xếp trình tổ chức lại dãy liệu theo trật tự định Tại cần phải xếp phần tử thay để dạng tự nhiên (chưa có thứ tự) vốn có ? Mục đích việc xếp nhằm giúp cho việc tìm kiếm liệu cách dễ dàng nhanh chóng Sắp xếp việc làm dùng rộng rãi kĩ thuật lập trình nhằm xử lý liệu Các thuật toán xếp phân chia thành hai nhóm là: - Sắp xếp đơn giản * Sắp xếp chọn (Selection sort) * Sắp xếp chèn (Insertion sort) * Sắp xếp bọt (Bubble sort) -Sắp xếp với độ phức tạp O(nlog(n)) * Sắp xếp theo phân đoạn (Quick Sort) * Sắp xếp hòa nhập (merge sort) * Sắp xếp vun đống (Heap sort) Sau tìm hiểu thuật tốn 1.1.1 Sắp xếp chọn (Selection sort) Ý tưởng: Chọn phần tử nhỏ n phần tử ban đầu, đưa phần tử vị trí dãy hành Sau khơng quan tâm đến nữa, xem dãy hành cịn n-1 phần tử dãy ban đầu, vị trí thứ Lặp lại q trình cho dãy hành đến dãy hành phần tử Dãy ban đầu có n phần tử, tóm tắt ý tưởng thuật tốn thực n-1 lượt việc đưa phần tử nhỏ dãy hành vị trí đầu dãy Ví dụ cho dãy số đơn giản với phần tử cần xếp cho tăng dần Ban đầu 89 10 41 i=1 89 10 41 i=2 89 10 41 i=3 89 10 41 i=4 89 10 41 i=5 89 10 41 i=6 10 89 41 10 41 89 i=7 dãy xếp Những ô tô gạch chân ô đổi chổ bước i Thuật tốn sau: • Đầu vào: mảng a[i] (1