SKKN Vận dụng thuật toán sắp xếp, tìm kiếm vào việc bồi dưỡng học sinh giỏi, thi chuyên phan trên ngôn ngữ lập trình C++

43 3 0
SKKN Vận dụng thuật toán sắp xếp, tìm kiếm vào việc bồi dưỡng học sinh giỏi, thi chuyên phan trên ngôn ngữ lập trình C++

Đ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

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 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 toá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 toán hiệu để giải toá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 toán xếp, tìm kiếm để chuyển tốn sang một hướng từ giải tố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, đơi 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 chun 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 quát phần tầm quan trọng thuật tốn xếp, tìm kiếm trình bày toá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 Để hồn thành nhiệm vụ đề tài, 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 tốn cài đặt chương trình Lựa chọn số toán giải áp dụng thuật toá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 toán lớn, toá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 q 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 tố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 n-1 phần tử dãy ban đầu, vị trí thứ Lặp lại 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 toá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

Ngày đăng: 08/01/2022, 23:18

Từ khóa liên quan

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

Tài liệu liên quan