ĐH KHTN TP HCM, Khoa CNTT Bài tập thực hành Cấu trúc dữ liệu và giải thuật DANH SÁCH LIÊN KẾT 1 Bài tập 1 Tìm phần tử ở giữa của Danh sách liên kết (DSLK) đơn Lưu ý chỉ được duyệt qua DSLK một lần 2 C[.]
Trang 1ĐH KHTN TP.HCM, Khoa CNTT
Bài tập thực hành: Cấu trúc dữ liệu và giải thuật
DANH SÁCH LIÊN KẾT
1 Bài tập:
1 Tìm phần tử ở giữa của Danh sách liên kết (DSLK) đơn Lưu ý: chỉ được duyệt qua DSLK một lần
2 Cho một DSLK đơn, hãy kiểm tra xem DSLK này có chứa vòng hay không
3 Cho một DSLK đơn, hãy nghịch đảo danh sách này
4 Viết chương trình để xóa một phần tử bất kỳ trong DSLK đôi
5 Xóa các phần tử trùng nhau trong DSLK đơn
6 Tìm node thứ k tình từ cuối DSLK đơn Lưu ý: chỉ được duyệt qua DSLK
một lần
7 Cho một DSLK đơn Cứ cách một phần tử, xóa một phần tử
Input: 1->4->8->10->15
Output: 1->8->15
8 Đảo chiều DSLK mỗi k phần tử Với k được nhập từ bàn phím
Input: 1->2->3->4->5->6->7->8->9->NULL và k = 3
Output: 3->2->1->4->5->6->9->8->7->NULL
9 Cho một DSLK đơn Di chuyển các node có giá trị chẵn về cuối theo thứ tự ngược
Input: 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> NULL
Output: 1 -> 3 -> 5 -> 7 -> 6 -> 4 -> 2 -> NULL
10 Xây dựng cấu trúc ngăn xếp (Stack) bằng DSLK đơn với các hàm:
a Tạo một Stack rỗng
b Push: thêm một node vào Stack
c Pop: xóa một node strong Stack
d IsEmpty: kiểm tra Stack rỗng hay không
Trang 2ĐH KHTN TP.HCM, Khoa CNTT
e GetItem: Lấy giá trị phần tử đầu Stack, nhưng không lấy phần tử ra khỏi Stack
11 Tương tự như câu 10 nhưng cho cấu trúc hàng đợi Queue
12 Cài đặt thuật toán Radix sort cho DSLK đơn
13 Cài đặt thuật toán Merge sort cho DSLK đơn
2 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 lý giải thuật toán mình sử dụng kèm các bộ dữ liệu mà mình test ở mỗi bài
- Môi trường làm việc: Visual Studio 2017 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