ĐH KHTN TP HCM/ Khoa CNTT Cấu trúc dữ liệu và giải thuật 1 ĐH KHTN TP HCM/ Khoa CNTT HƯỚNG DẪN THỰC HÀNH CÁC THUẬT TOÁN SẮP XẾP I Mục tiêu Sinh viên cài đặt các thuật toán sắp xếp và ứng dụng nó để gi[.]
ĐH KHTN TP.HCM/ Khoa CNTT HƯỚNG DẪN THỰC HÀNH CÁC THUẬT TOÁN SẮP XẾP I Mục tiêu Sinh viên cài đặt thuật tốn xếp ứng dụng để giải toán đặt II Qui định nộp - Sinh viên nộp tập tin nén, có tên .zip .rar chứa source code báo cáo chương trình - Sinh viên nộp kèm file báo cáo ghi mức độ hồn thành cơng việc mình, liệu mà test - Tất tập lập trình theo command line (tham số dịng lệnh) - Kiến trúc thư mục nộp: o MSSV ▪ MSSV_BT1: • Source: chứa file cpp • Header: chứa file h • Test case: chứa file input để test thử • … ▪ MSSV_BT2: … - Mơi trường làm việc: Visual Studio 2015 môi trường tương đương Không sử dụng hàm bị lỗ hổng bảo mật gets, … - Hạn nộp: xem link Moodle - Bài giống hay nộp file rác điểm MÔN HỌC III Nội dung BT1 Cài đặt thuật toán sau để xếp tăng dần mảng chiều số nguyên: - (1) Selection sort - (2) Insertion sort - (3) Heap sort - (4) Quick sort - (5) Merge sort - (6) Shell sort (không bắt buộc) Command line: MSSV_BTx.exe ThuatToan Input.txt Output.txt Ví dụ: 1512345_BT1.exe test1.txt out1.txt Cấu trúc liệu giải thuật Nghĩa chạy thuật toán selection sort để xếp mảng chứa file test1.txt xuất kết file out1.txt Định dạng input: - Dòng chứa số phần tử mảng - Dòng chứa phần tử, phần tử cách khoảng trắng - Ví dụ: 28391 Định dạng output: - Dòng chứa phần tử mảng xếp, số cách khoảng trắng - Lưu ý khơng có khoảng trắng cuối dịng - Ví dụ: 12389 BT2 Cài đặt lại với mảng xếp giảm dần BT3 Tìm cách tăng kích thước mảng dần lên từ 1000, 10000, 1000000, … phần tử Đo thời gian thực thi thuật toán Mảng tạo ngẫu nhiên Command line: MSSV_BTx.exe ThuatToan KichThuoc KetQua Ví dụ: 1512345_BT1.exe 1000 out1000.txt Nghĩa chạy thuật toán selection sort để xếp mảng ngẫu nhiên có 1000 phần tử xuất thời gian mili giây với độ xác làm trịn đến chữ số BT4 Sắp xếp mảng số nguyên với số chẵn tăng dần, số lẻ giảm dần Lưu ý vị trí chẵn lẻ khơng thay đổi Tùy ý chọn thuật tốn xếp Ví dụ: Mảng trước xếp: 15 18 11 Mảng sau xếp: 15 11 18 Command line: MSSV_BTx.exe Input.txt Output.txt Mô tả tập tin input chứa mảng chưa xếp ouput chứa mảng xếp giống BT5 Đọc liệu từ file ‘employee.txt’ xếp nhân viên theo độ tuổi giảm dần sử dụng Heap Sort viết liệu kết lên tập tin ‘sorted.txt’ Nếu tuổi nhau, sử dụng tên theo thứ tự alphabet Tự tạo file employee khác để test Command line: MSSV_BTx.exe Input.txt Output.txt Với input.txt employee output.txt chứa danh sách nhân viên xếp Lưu ý dịng đầu trịn file employee header nên khơng cần xử lý Định dạng tập tin output.txt giống tập tin input.txt (bao gồm header) BT6 (Không bắt buộc) Sắp xếp mảng hai chiều số nguyên theo dạng xốy ốc giống hình sau: Cấu trúc liệu giải thuật Cách 1: dùng mảng phụ Cách 2: không dùng mảng phụ Command line: MSSV_BTx.exe Cach Input.txt Output.txt Với Cach mang giá trị Input: - Dịng đầu chứa kích thước mảng hai chiều vng - Các dòng kế tiếp, dòng chứa dòng mảng hai chiều, số cách khoảng trắng - Ví dụ: 4321 12 14 13 15 16 11 10 Output: - Chứa dịng mảng xếp - Ví dụ: 1234 12 13 14 11 16 15 10 Cấu trúc liệu giải thuật ... gian thực thi thuật toán Mảng tạo ngẫu nhiên Command line: MSSV_BTx.exe ThuatToan KichThuoc KetQua Ví dụ: 1512345_BT1.exe 1000 out1000.txt Nghĩa chạy thuật toán selection sort để xếp mảng ngẫu... đến chữ số BT4 Sắp xếp mảng số nguyên với số chẵn tăng dần, số lẻ giảm dần Lưu ý vị trí chẵn lẻ khơng thay đổi Tùy ý chọn thuật tốn xếp Ví dụ: Mảng trước xếp: 15 18 11 Mảng sau xếp: 15 11 18 Command...Nghĩa chạy thuật toán selection sort để xếp mảng chứa file test1.txt xuất kết file out1.txt Định dạng input: - Dòng chứa số phần tử mảng - Dòng chứa phần tử, phần tử cách khoảng trắng