Bagaimanakah saya boleh melaksanakan fungsi senarai terpaut dengan berkesan dalam Python?

Barbara Streisand
Lepaskan: 2024-10-31 12:26:01
asal
503 orang telah melayarinya

How can I effectively implement linked list functionality in Python?

Menggunakan Senarai Terpaut dalam Python

Dalam Python, senarai standard dan struktur data tuple bukanlah senarai terpaut yang benar. Senarai terpaut mempunyai kelebihan unik, termasuk penggabungan masa malar dan rujukan mudah bahagian yang berbeza.

Untuk menentukan senarai terpaut dalam Python, anda boleh menggunakan kod berikut:

>>> class Node:
...     def __init__(self, data):
...         self.data = data
...         self.next = None
Salin selepas log masuk

Ini mentakrifkan kelas "Nod" yang boleh menyimpan sekeping data dan merujuk nod seterusnya dalam senarai.

Untuk membuat senarai terpaut, buat nod dan pautkannya bersama:

>>> head = Node(1)
>>> second = Node(2)
>>> third = Node(3)
>>> head.next = second
>>> second.next = third
Salin selepas log masuk

Ini kod mencipta senarai terpaut dengan kepala, kedua dan ketiga sebagai nod. Nod kepala ialah titik permulaan senarai.

Untuk mengakses elemen dalam senarai, rentas nod:

>>> current_node = head
>>> while current_node is not None:
...     print(current_node.data)
...     current_node = current_node.next
Salin selepas log masuk

Kod ini mencetak data dalam setiap nod dalam senarai.

Bagi aplikasi tertentu, deque (barisan dua hujung) mungkin juga sesuai. Deques membenarkan untuk menambah dan mengalih keluar item dari kedua-dua hujung dengan kerumitan masa O(1).

<code class="python">>>> from collections import deque
>>> d = deque([1,2,3,4])
>>> d.pop()
4
>>> d
deque([1, 2, 3])</code>
Salin selepas log masuk

Dengan menggunakan senarai terpaut atau deques, anda boleh melaksanakan struktur data dengan berkesan dalam Python yang mempunyai sifat berfaedah seperti terpaut senarai.

Atas ialah kandungan terperinci Bagaimanakah saya boleh melaksanakan fungsi senarai terpaut dengan berkesan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!