Câu hỏi:
25/09/2023 308
Để 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
Để 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
Quảng cáo
Trả lờ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.


Hot: Học hè online Toán, Văn, Anh...lớp 1-12 tại Vietjack với hơn 1 triệu bài tập có đáp án. Học ngay
- Trọng tâm Sử, Địa, GD KTPL 11 cho cả 3 bộ Kết nối, Chân trời, Cánh diều VietJack - Sách 2025 ( 38.000₫ )
- Sách - Sổ tay kiến thức trọng tâm Vật lí 11 VietJack - Sách 2025 theo chương trình mới cho 2k8 ( 45.000₫ )
- Sách lớp 11 - Trọng tâm Toán, Lý, Hóa, Sử, Địa lớp 11 3 bộ sách KNTT, CTST, CD VietJack ( 52.000₫ )
- Sách lớp 10 - Combo Trọng tâm Toán, Văn, Anh và Lí, Hóa, Sinh cho cả 3 bộ KNTT, CD, CTST VietJack ( 75.000₫ )
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Lời giải
Hướng dẫn: Có thể áp dụng danh sách liên kết vòng để giải quyết bài toán trên. Thao tác xoá phần tử được vận dụng nhiều.
Chương trình mẫu:

Lời giải
Độ phức tạp là O(n) với n là số phần tử của danh sách.
Cách làm: Đầu tiên em tìm nút node mà node.Next.Data có giá trị lớn hơn hoặc bằng x hoặc node.Next rỗng, sau đó chèn node có giá trị x vào giữa
node và node.Next.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.