Làm cách nào để tạo danh sách liên kết trong python?
Danh sách được liên kết là một cấu trúc dữ liệu tuyến tính trong đó các phần tử không được lưu trữ cạnh nhau trong bộ nhớ. Khác với mảng, các phần tử trong danh sách liên kết sử dụng con trỏ hoặc tham chiếu đến nhau để giữ nguyên danh sách Show
Giống như mảng hoặc danh sách truyền thống, danh sách được liên kết là một tập hợp các đối tượng được sắp xếp theo thứ tự. Danh sách được liên kết khác với danh sách ở chỗ chúng lưu trữ các phần tử trong bộ nhớ. Trong khi các danh sách thông thường như mảng và lát sử dụng khối bộ nhớ liền kề để lưu trữ tham chiếu đến dữ liệu của chúng, danh sách được liên kết lưu trữ tham chiếu hoặc con trỏ như một phần của mỗi phần tử nguồn Một danh sách bình thường chỉ là một con trỏ tới phần tử đầu tiên trong danh sách và một mục cụ thể có thể được truy xuất bằng cách cung cấp một phần bù bộ nhớ Một danh sách được liên kết cũng chỉ là một con trỏ tới phần tử đầu tiên trong danh sách, nhưng bù đắp bộ nhớ sẽ không giúp ích gì cho chúng ta. Chúng ta cần kiểm tra các yếu tố đầu tiên của con trỏ ________ 21 để xem vị trí của mục tiếp theo, sau đó chúng ta có thể điều hướng đến mục đó. Từ đó, chúng ta có thể tìm mục tiếp theo, v.v. Ví dụ về danh sách liên kết đơn trong Python 🔗Lớp nút 🔗Đầu tiên, chúng ta sẽ xây dựng một lớp 2. Lớp 0 mà chúng tôi xây dựng cuối cùng sẽ là một danh sách của 2
Mỗi nút có một thành viên dữ liệu 2 (thông tin mà nó lưu trữ) và một thành viên dữ liệu 1. Thành viên dữ liệu 1 chỉ trỏ tới 2 tiếp theo trong danh sách nếu có, nếu không, đó là 6Trình tạo danh sách được liên kết 🔗
Hàm tạo rất dễ dàng - chỉ cần khởi tạo một con trỏ 7 trống. Điều này cho thấy chúng tôi hiện có một danh sách trốngLặp lại danh sách 🔗Hãy làm cho việc lặp qua từng mục trong danh sách trở nên dễ dàng bằng cách sử dụng cú pháp 8 của Python
Bằng cách triển khai phương thức 9 của Python, giờ đây chúng ta có thể sử dụng cú pháp lặp. Ví dụ, 0Đang thêm vào danh sách liên kết 🔗Hãy tạo một cách để thêm các mục vào đuôi danh sách, phương thức 1. Nó lấy một nút làm đầu vào, lặp lại trên toàn bộ danh sách, sau đó thêm nút đã cho vào cuối 1Đang xóa khỏi danh sách liên kết 🔗Có nhiều cách khác để xóa các mục khỏi danh sách, nhưng bây giờ, và để làm ví dụ, hãy viết một phương thức 2 3 3 xóa và trả về mục đầu tiên khỏi danh sách, giả sử có một mụcIn danh sách liên kết 🔗Cuối cùng nhưng không kém phần quan trọng, chúng ta có thể triển khai phương thức 4 của Python để có thể gọi trực tiếp 5 trên một danh sách và kiểm soát những gì nó in ra. Đây là một đại diện tôi thích 7Phương thức này sẽ in giá trị của từng nút theo thứ tự, với các mũi tên ở giữa. Ví dụ, 6Sử dụng danh sách liên kết 🔗 9Các danh sách được liên kết có giá trị vô cùng lớn trong khoa học máy tính vì chúng cho phép chúng ta thêm và xóa các phần tử ở bất kỳ đâu trong danh sách một cách nhanh chóng, với độ phức tạp Big-O chỉ là 7Độ phức tạp Big-O của danh sách liên kết 🔗Hoạt động Độ phức tạp của Big-OChènO(1)XóaO(1)Chỉ mụcO(n) Do các hoạt động nhanh chóng, danh sách được liên kết được sử dụng thực tế trong nhiều tình huống khác nhau, bao gồm Cách tạo danh sách liên kết?Thuật toán . Tạo một nút lớp có hai thuộc tính. dữ liệu và tiếp theo. Tiếp theo là một con trỏ tới nút tiếp theo Tạo một lớp khác có hai thuộc tính. đầu và đuôi addNode() sẽ thêm một nút mới vào danh sách. Tạo một nút mới. . display() sẽ hiển thị các nút có trong danh sách Chúng ta có thể triển khai danh sách được liên kết trong Python không?Triển khai lớp liên kết do người dùng xác định trong Python
. 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 đó
Danh sách liên kết hoạt động như thế nào trong Python?Danh sách được liên kết là cấu trúc dữ liệu lưu trữ dữ liệu dưới dạng chuỗi. Cấu trúc của danh sách được liên kết sao cho mỗi phần dữ liệu có kết nối với phần tiếp theo (và đôi khi cả dữ liệu trước đó). Mỗi phần tử trong danh sách liên kết được gọi là một nút.
Làm cách nào để tạo một nút trong Python?Tạo nút
. Trong ví dụ dưới đây, chúng tôi tạo một lớp tên ngày để giữ tên của các ngày trong tuần. Con trỏ nextval được khởi tạo thành null và ba nút và được khởi tạo với các giá trị như được hiển thị. by implementing a class which will hold the pointers along with the data element. In the below example we create a class named daynames to hold the name of the weekdays. The nextval pointer is initialized to null and three nodes and initialized with values as shown. |