Để hiểu rõ hơn về danh sách liên kết và các thao tác trên danh sách


Sách bài tập Tin học 11 Bài 15: Cấu trúc dữ liệu danh sách liên kết và ứng dụng - Cánh diều

Câu Fcs47 trang 66 SBT Tin học 11: Để hiểu rõ hơn về danh sách liên kết và các thao tác trên danh sách liên kết, Tí thực hiện các thao tác thuộc hai loại sau:

Loại 1: “Quay” k lần: tức là Tí sẽ lấy phần tử đầu tiên của danh sách liên kết và chèn nó vào sau phần tử cuối cùng, thực hiện k lần như vậy.

Loại 2: Đảo ngược danh sách liên kết.

Sau nhiều giờ lập trình, Ti tiến hành kiểm thử, tuy nhiên lại không tự tin vào kết quả của mình. Tí nhờ bạn code để đối chiếu kết quả.

Biết rằng Tí đã cài sẵn danh sách liên kết trong một mô đun và import nó vào trong chương trình. Danh sách liên kết này đảm bảo hoạt động chính xác. Tí cũng code sẵn phần xử lí nhập vào, in ra dữ liệu. Hãy hoàn thiện hai hàm rotate (quay mảng) và reverseList(đảo ngược).

Cấu trúc nút được định nghĩa như sau:

class Node:

def

init self.data self.next

(self, data):

= data

Giả sử có một biến tên node thuộc kiểu Node tượng trưng cho một nút trong danh sách liên kết. Để lấy nút tiếp theo, ta viết node.next; để lấy ra giá trị, ta viết node.data. Để tạo ra một nút mới có giá trị là value, ta viết

node = Node(value).

Hai hàm cần cài đặt được cung cấp tham số head: nút trỏ tới đầu của danh sách liên kết. Hàm trả về biến kiểu Node, trỏ tới phần tử đầu tiên của danh sách liên kết mới được thay đổi sau các truy ván.

Cụ thể hơn, các hàm này được định nghĩa như sau:

def rotate (head, k) -> Node: # Hoàn thiện phần thân hàm

def reverseList (head) -> Node: # Hoàn thiện phần thân hàm

Lời giải:

Hướng dẫn giải: Thao tác chèn và duyệt danh sách liên kết được vận dụng nhiều trong hai hàm sau.

Để hiểu rõ hơn về danh sách liên kết và các thao tác trên danh sách

Để hiểu rõ hơn về danh sách liên kết và các thao tác trên danh sách

Lời giải SBT Tin 11 Bài 15: Cấu trúc dữ liệu danh sách liên kết và ứng dụng hay khác:

Xem thêm các bài giải sách bài tập Tin học lớp 11 Cánh diều hay, chi tiết khác: