Tài liệu Python ListNode
Danh sách được liên kết là một trong những cấu trúc dữ liệu cơ bản nhất đại diện cho một chuỗi các nút. Phần tử đầu tiên của dãy được gọi là phần đầu của Danh sách liên kết trong khi phần tử cuối cùng tương ứng với phần đuôi Show
Mỗi nút trong chuỗi có một con trỏ tới phần tử tiếp theo và tùy chọn một con trỏ tới phần tử trước đó. Trong Danh sách được liên kết đơn lẻ, mỗi nút chỉ trỏ đến nút tiếp theo Danh sách liên kết đơn — Nguồn. Tác giảMặt khác, trong Danh sách liên kết kép, mỗi nút trỏ đến nút tiếp theo cũng như nút trước đó Danh sách liên kết kép — Nguồn. Tác giảDanh sách được liên kết cực kỳ hữu ích trong các tình huống khác nhau. Chúng thường được ưu tiên hơn các mảng tiêu chuẩn khi
Không giống như các ngôn ngữ có mục đích chung khác, Python không có triển khai Danh sách được liên kết tích hợp sẵn trong thư viện chuẩn của nó. Trong bài viết hôm nay, chúng ta sẽ khám phá cách triển khai lớp Danh sách liên kết do người dùng định nghĩa bằng Python Triển khai lớp liên kết do người dùng xác định trong PythonTrước tiên, hãy tạo một lớp do người dùng định nghĩa cho các nút riêng lẻ trong Danh sách được liên kết. Lớp này sẽ phù hợp cho cả Danh sách liên kết đơn hoặc kép. Do đó, các thể hiện của lớp này phải có khả năng lưu trữ giá trị của nút, nút tiếp theo cũng như nút trước đó class Node: Lưu ý rằng khi một phiên bản của class LinkedList:2 có class LinkedList:3 được đặt thành class LinkedList:4 thì điều đó có nghĩa là nó thực chất là phần đuôi của Danh sách được liên kết (Đơn lẻ hoặc kép). Tương tự, trong Danh sách liên kết đôi, khi một nút có class LinkedList:5 được đặt thành class LinkedList:4 thì điều này cho biết nút đó là đầu của Danh sách được liên kết Bây giờ chúng ta đã tạo một lớp cho các Nút, bây giờ chúng ta có thể tạo lớp cho chính Danh sách được liên kết. Như đã đề cập, Danh sách được liên kết có một class LinkedList:7, một class LinkedList:8 và các nút trỏ đến nhau class LinkedList: Bây giờ để thêm các giá trị được cung cấp trong hàm tạo dưới dạng các nút trong Danh sách được liên kết, chúng ta cần xác định một số phương thức bổ sung Phương thức đầu tiên có tên là class LinkedList:9 được sử dụng để thêm một nút vào Danh sách được liên kết class LinkedList:0 Bây giờ chúng ta hãy nhanh chóng đi qua logic của phương pháp. Nếu Danh sách được liên kết không có phần đầu, thì có nghĩa là nó rỗng và do đó nút được thêm vào sẽ vừa là phần đầu vừa là phần cuối của Danh sách được liên kết. Nếu phần đầu không trống thì ta thêm phần tử class LinkedList:2 vừa tạo làm phần tử class LinkedList:3 của phần tử class LinkedList:8 hiện tại và cuối cùng di chuyển phần đuôi để trỏ đến phần tử class LinkedList:2 mới tạo Phương thức thứ hai được gọi là class LinkedList:04, được gọi trong hàm tạo và chỉ đơn giản là gọi phương thức class LinkedList:05 mà chúng ta đã xác định trước đó để thêm nhiều giá trị dưới dạng các nút trong thể hiện Danh sách được liên kết class LinkedList:7 Cho đến nay, lớp Danh sách liên kết của chúng tôi trông giống như bên dưới class LinkedList:8 Bây giờ, hãy tạo một phương thức bổ sung có thể chèn một phần tử mới nhưng lần này là ở phần đầu của Danh sách được liên kết, tôi. e. như một cái đầu class LinkedList:9 Bây giờ, hãy ghi đè một số phương thức đặc biệt trong lớp của chúng ta có khả năng hữu ích. Đầu tiên, hãy triển khai phương thức class LinkedList:06 để biểu diễn chuỗi của đối tượng Danh sách được liên kết có thể đọc được bằng con người. Ví dụ: khi in ra Danh sách được liên kết với các nút class LinkedList:07, đầu ra sẽ là ____108 class LinkedList:3 Thứ hai, hãy triển khai phương thức class LinkedList:09 sẽ trả về độ dài của lớp do người dùng định nghĩa, về cơ bản là số nút có trong chuỗi. Tất cả những gì chúng ta cần làm là lặp qua mọi nút của chuỗi cho đến khi chúng ta đến phần cuối của Danh sách được liên kết class LinkedList:5 Cuối cùng, hãy đảm bảo rằng lớp class LinkedList:70 có thể lặp lại bằng cách triển khai phương thức class LinkedList:71 class LinkedList:8 Ngoài ra, chúng tôi cũng có thể tạo một thuộc tính có tên là class LinkedList:72 để chúng tôi có thể truy cập các giá trị của tất cả các nút có trong chuỗi class LinkedList:0 Lớp cuối cùng trông như dưới đây class LinkedList:0 Giờ đây, ngay cả lớp class LinkedList:2 của chúng ta cũng có thể đại diện cho các nút được bao gồm trong Danh sách liên kết đơn hoặc kép, lớp class LinkedList:70 mà chúng ta đã xác định chỉ có thể hỗ trợ Danh sách liên kết đơn. Điều này là do khi thêm các nút, chúng tôi không chỉ định nút trước đó Để đối phó với Danh sách liên kết kép, chúng ta chỉ cần tạo một lớp bổ sung kế thừa từ lớp class LinkedList:70 và ghi đè các phương thức class LinkedList:05 và class LinkedList:77 class LinkedList:1 Mã đầy đủ cho danh sách liên kết do người dùng xác định trong PythonMã đầy đủ chứa ba lớp mà chúng tôi đã tạo như một phần của hướng dẫn hôm nay được cung cấp bên dưới dưới dạng Gist GitHub Mã đầy đủ chứa các lớp Python Node, LinkedList và DoublyLinkedList — Nguồn. Tác giảSuy nghĩ cuối cùngTrong hướng dẫn hôm nay, chúng ta đã thảo luận về một trong những cấu trúc dữ liệu cơ bản nhất, đó là Danh sách được liên kết. Do thư viện chuẩn của Python không chứa bất kỳ triển khai nào của cấu trúc dữ liệu cụ thể này, chúng tôi đã khám phá cách một người có thể triển khai lớp Danh sách liên kết do người dùng định nghĩa từ đầu Trở thành thành viên và đọc mọi câu chuyện trên Medium. Phí thành viên của bạn hỗ trợ trực tiếp cho tôi và các nhà văn khác mà bạn đọc. Bạn cũng sẽ có toàn quyền truy cập vào mọi câu chuyện trên Phương tiện ListNode trong Python là gì?ListNode không phải là lớp python chung. Nó được định nghĩa là cái trong tiêu đề đã nhận xét của mã của bạn .
ListNode tùy chọn trong Python là gì?Đó là cho phép các giá trị có thể là Không có . Ví dụ. Đây là tất cả các nút danh sách. (3 -> 1 -> Không) Ví dụ. # Sử dụng Tùy chọn [] cho các giá trị có thể là Không có x. Tùy chọn[str] = some_function()
Làm cách nào để đọc một danh sách được liên kết trong Python?Một danh sách liên kết được tạo bằng cách sử dụng lớp nút mà chúng ta đã nghiên cứu trong chương trước. Chúng ta tạo một đối tượng Node và tạo một lớp khác để sử dụng đối tượng ode này. Chúng tôi chuyển các giá trị thích hợp thông qua đối tượng nút để trỏ đến phần tử dữ liệu tiếp theo . Chương trình dưới đây tạo danh sách liên kết với ba phần tử dữ liệu.
Làm cách nào để xây dựng danh sách liên kết trong Python?Cách tạo danh sách liên kết trong Python . chèn(). Thêm một mục vào danh sách liên kết ở đầu danh sách tìm thấy(). Tìm một mục trong danh sách liên kết gỡ bỏ(). Xóa một mục nhất định với một giá trị nhất định is_empty(). Trả về danh sách liên kết có rỗng hay không |