Tải bản đầy đủ (.pdf) (3 trang)

Btth4 thuat toan sap xep các thuật toán sắp xếp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (372.06 KB, 3 trang )

Đ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ải quyết các bài toán đặt ra.

II.

Qui định nộp
- Sinh viên nộp một tập tin nén, có tên là <MSSV>.zip hoặc <MSSV>.rar chứa
source code và báo cáo của chương trình.
- Sinh viên nộp kèm một file báo cáo ghi mức độ hồn thành cơng việc của mình,
các bộ dữ liệu mà mình test ở mỗi bài.
- Tất cả các bài tập sẽ 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 các file .cpp
• Header: chứa các file .h
• Test case: chứa các file input để test thử.
• …
▪ MSSV_BT2: ….
- Mơi trường làm việc: Visual Studio 2015 hoặc các môi trường tương đương.
Không sử dụng các hàm bị lỗ hổng bảo mật như gets, …
- Hạn nộp: xem link trên Moodle.
- Bài giống nhau hay nộp file rác sẽ 0 điểm MÔN HỌC.



III.

Nội dung

BT1. Cài đặt các thuật toán sau để sắp xếp tăng dần trên mảng một chiều các số nguyên:
- (1) Selection sort
- (2) Insertion sort
- (3) Heap sort
- (4) Quick sort
- (5) Merge sort (không bắt buộc)
- (^6) Shell sort (không bắt buộc)
Command line: MSSV_BTx.exe ThuatToan Input.txt Output.txt
Ví dụ: 1512345_BT1.exe 1 test1.txt out1.txt

Cấu trúc dữ liệu và giải thuật

1


Nghĩa là chạy thuật toán selection sort để sắp xếp mảng chứa trong file test1.txt và
xuất kết quả ra file out1.txt
Định dạng input:
- Dòng đầu tiên chứa số phần tử của mảng
- Dòng tiếp theo chứa các phần tử, mỗi phần tử cách nhau 1 khoảng trắng.
- Ví dụ:
5
28391
Định dạng output:
- Dòng chứa các phần tử trong mảng đã sắp xếp, mỗi số cách nhau 1 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 bài 1 với mảng sắp 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 của mỗi thuật toán. Mảng được tạo ngẫu nhiên.
Command line: MSSV_BTx.exe ThuatToan KichThuoc KetQua
Ví dụ: 1512345_BT1.exe 1 1000 out1000.txt
Nghĩa là chạy thuật tốn selection sort để sắp xếp mảng ngẫu nhiên có 1000 phần
tử và xuất ra thời gian mili giây với độ chính xác làm trịn đến 3 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 sắp xếp.
Ví dụ:
Mảng trước khi sắp xếp: 1 2 4 7 15 18 8 9 11
Mảng sau khi sắp xếp: 15 2 4 11 9 8 18 7 1
Command line: MSSV_BTx.exe Input.txt Output.txt
Mô tả tập tin input chứa mảng chưa sắp xếp và ouput chứa mảng đã sắp xếp giống bài
1.
BT5. Đọc dữ liệu từ file ‘employee.txt’ và sắp xếp mỗi nhân viên theo độ tuổi giảm dần
sử dụng Heap Sort và viết dữ liệu kết quả lên tập tin ‘sorted.txt’. Nếu tuổi bằng nhau, sử
dụng tên theo thứ tự alphabet. Tự tạo ra các file employee khác để test.
Command line: MSSV_BTx.exe Input.txt Output.txt
Với input.txt là employee và output.txt chứa danh sách nhân viên đã được sắp xếp.
Lưu ý dòng đầu tròn file employee là header nên không cần xử lý. Định dạng tập tin
output.txt giống như tập tin input.txt (bao gồm cả 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 dữ liệu và giải thuật


2


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ị 1 hoặc 2.
Input:
- Dịng đầu chứa kích thước mảng hai chiều vng.
- Các dịng kế tiếp, mỗi dịng chứa một dịng trong mảng hai chiều, mỗi số cách
nhau khoảng trắng.
- Ví dụ:
4
4321
12 5 14 13
15 16 11 6
9 10 7 8
Output:
- Chứa các dịng của mảng đã được sắp xếp.
- Ví dụ:
1234
12 13 14 5
11 16 15 6
10 9 8 7

Cấu trúc dữ liệu và giải thuật

3




×