Microsoft Word cd midterm project docx Đồ Án Giữa Kỳ Các Thuật Toán Sắp Xếp 1 Tóm tắt Nội dung đồ án gồm các yêu cầu chính như sau • Tìm hiểu và cài đặt các thuật toán sắp xếp • Thống kê thời gian thự[.]
Trang 1Đồ Án Giữa Kỳ: Các Thuật Toán Sắp Xếp
1 Tóm tắt
Nội dung đồ án gồm các yêu cầu chính như sau:
• Tìm hiểu và cài đặt các thuật toán sắp xếp
• Thống kê thời gian thực hiện của mỗi thuật toán sắp xếp dựa trên dữ liệu phát sinh ngẫu nhiên
• Nhận xét về tính hiệu quả của các thuật toán dựa trên dữ liệu thống kê thời gian thực hiện
2 Nội dung
2.1 Cài đặt và thực nghiệm
2.1.1 Cài đặt các thuật toán sắp xếp
Cài đặt các thuật toán sắp xếp sau cho mảng số nguyên một chiều:
o Selection Sort
o Heap Sort
o Quick Sort
o Merge Sort
2.1.2 Thực nghiệm:
Bước 1: Phát sinh dữ liệu ngẫu nhiên, tiến hành phát sinh dữ liệu theo 3 trường
hợp sau:
o Dữ liệu có thứ tự (sorted)
o Dữ liệu có thứ tự ngược (reversed)
o Dữ liệu ngẫu nhiên (random)
Với mỗi trường hợp, ta phát sinh dữ liệu với các kích thước sau: 100, 1000, 5000,
10000, 50000, 100000
Bước 2: Thực nghiệm và thống kê kết quả
Với mỗi thuật toán sort khác nhau ở mục 2.1.1, ta sẽ tiến hành chạy thực nghiệm
và ghi lại thời gian thực hiện theo dữ liệu đã phát sinh ở Bước 1 Kết quả thời gian thực hiện được ghi vào bảng Results.csv có cấu trúc như sau (lưu ý: bảng
dưới đây chỉ là ví dụ minh hoạ cho trường hợp dữ liệu có thứ tự, khi thực nghiệm phải bổ sung 2 trường hợp còn lại.)
case size selection heap quick merge
sorted 100
sorted 1000
sorted 5000
sorted 10000
sorted 50000
sorted 100000
Trang 22.2 Viết báo cáo
Nội dung file báo cáo gồm:
- Trình bày các thuật toán sắp xếp ở mục 2.1.1, gồm các nội dung: ý tưởng
sắp xếp, các bước thực hiện thuật toán, đánh giá tính hiệu quả (độ phức tạp trong từng trường hợp dữ liệu)
- Trình bày kết quả thực nghiệm: với mỗi trường hợp dữ liệu, ta vẽ đồ thị thể hiện thời gian thực hiện của tất cả các thuật toán ở mục 2.1.1, trong đó
trục ngang của đồ thị thể hiện kích thước dữ liệu, trục dọc của đồ thị thể hiện thời gian thực hiện, mỗi thuật toán được biểu diễn bằng 1 màu (hoặc nét) khác nhau
- Nhận xét: trong mỗi trường hợp dữ liệu, ta nhận xét về tính hiệu quả của mỗi
thuật toán dựa trên kết quả thực nghiệm
- Tự đánh giá mức độ hoàn thành: bạn thấy mình hoàn thành bao nhiêu phần
trăm yêu cầu của đồ án này, tự cho điểm trên thang 10 cho bài làm của mình
3 Quy định nộp bài
Tập tin nén <MSSV>.zip có cấu trúc bên trong bao gồm:
• Thư mục source: chỉ chứa các tập tin mã nguồn (cụ thể là các tập tin c, cpp,
.h)
• Thư mục release: chứa chương trình đã biên dịch ở dạng release
• Thư mục report: chứa kết quả thực nghiệm và báo cáo, bao gồm các tập tin:
Results.csv (mục 2.1.2), Report.pdf (phần báo cáo)
Lưu ý: Những trường hợp giống bài nhau sẽ bị 0 điểm Thực Hành