Chương 6: Danh sách liên kết
Bài tập 1:
Cài đặt danh sách liên kết đơn với mỗi node có kiểu dữ liệu là số nguyên. Viết các hàm/phương thức thực hiện các thao tác cơ bản trên danh sách liên kết này:
- Thêm vào đầu danh sách.
- Thêm vào cuối danh sách.
- Thêm vào sau một node có giá trị là val.
- Xóa đầu danh sách.
- Xóa một node có giá trị là val.
- Xóa một node nằm sau node có giá trị là val.
- Xóa toàn bộ danh sách.
- Tìm node có giá trị là val.
- Đếm số phần tử tận cùng là 7 và chia hết cho 7 trong danh sách.
- Tính trung bình cộng các số nguyên tố hiện có trong danh sách.
- In ra số nguyên tố lớn nhất (nếu có) trong danh sách.
- Cho biết trong danh sách có bao nhiêu số nguyên tố phân biệt.
- Tách danh sách con gồm những phần tử không phải số nguyên tố trong danh sách.
- Đảo ngược danh sách liên kết.
- Kiểm tra xem danh sách có tăng dần hay giảm dần không.
- Lấy/xóa/gán giá trị của phần tử thứ i trong danh sách.
- Xóa k phần tử liên tiếp bắt đầu từ vị trí thứ i.
- (*) In dãy con tăng dần (liên tiếp) dài nhất xuất hiện trong danh sách. Nếu có nhiều dãy cùng dài nhất chỉ cần in ra dãy đầu tiên.
- (*) In ra tất cả các dãy con tăng (liên tiếp) của danh sách.
- Xóa bỏ danh sách phần tử trùng lặp (chỉ giữ lại phần tử đầu tiên).
Bài tập 2:
Sử dụng danh sách liên kết để biểu diễn 2 tập hợp A, B gồm m,n phần tử:
- Xuất ra những phần tử có trong A mà không có trong B.
- Tìm C = A U B (ghép A, B thành C sao cho C không có phầntử trùng nhau).
- Tìm tập giao của 2 tập hợp D = A giao B
Bài tập 3:
Viết chương trình tổng, hiệu của 2 số nguyên lớn tối đa 32 chữ số, trong đó sử dụng danh sách liên kết để biểu diễn 2 số nguyên này.
Bài tập 4:
Khai báo danh sách liên kết đơn để biểu diễn đa thức.
Cài đặt các thao tác sau trên đa thức:
- In đa thức
- Tính giá trị đa thức
- Chuẩn hóa đa thức (bao gồm loại bỏ những xi trùng nhau, sắp giảm dần theo số mũ).
- Cộng (trừ) hai đa thức
- Nhân hai đa thức.