Rumah >pembangunan bahagian belakang >Tutorial Python >Struktur Data Isih dalam Python
Struktur data yang diisih memainkan peranan penting dalam mengoptimumkan operasi carian, sisipan dan pemadaman sambil mengekalkan susunan. Python menyediakan pelbagai alat dan perpustakaan untuk bekerja dengan struktur sedemikian, menawarkan penyelesaian yang cekap untuk pelbagai masalah dunia sebenar. Kami akan meliputi yang berikut:
Untuk pelaksanaan struktur data timbunan yang teguh (khususnya timbunan min), perpustakaan standard Python menyediakan sokongan terbina dalam. Modul heapq menyediakan pelaksanaan barisan keutamaan berasaskan timbunan. Ia menggunakan timbunan binari untuk mengekalkan susunan separa, menjadikannya sesuai untuk senario yang memerlukan akses berulang kepada elemen terkecil (atau terbesar).
import heapq heap = [3, 1, 4] heapq.heapify(heap) heapq.heappush(heap, 2) print(heap) # Output: [1, 2, 4, 3] smallest = heapq.heappop(heap) print(smallest) # Output: 1
Rujuk dokumentasi rasmi untuk senarai komprehensif operasi yang tersedia dan contoh tambahan.
Modul sortedcontainers menyediakan struktur data diisih dinamik yang melaraskan secara automatik apabila elemen ditambah atau dialih keluar. Perpustakaan ini sangat cekap dan mudah digunakan.
Mengekalkan senarai diisih dengan susunan dinamik.
from sortedcontainers import SortedList sl = SortedList([3, 1, 4]) sl.add(2) print(sl) # Output: [1, 2, 3, 4]
Ia juga menerima parameter utama, serupa dengan yang digunakan dalam fungsi sorted().
from sortedcontainers import SortedList from operator import neg sl = SortedList([3, 1, 4], key=neg) print(sl) # Output: [4, 3, 1]
Nota: SortedList menyokong hampir semua kaedah jujukan boleh ubah kecuali beberapa kaedah yang tidak disokong dan akan menimbulkan ralat yang tidak dilaksanakan.
Kamus dengan kunci diselenggara dalam susunan yang disusun. Reka bentuk dict diisih adalah mudah: dict diisih mewarisi daripada dict ke menyimpan item dan mengekalkan senarai kunci yang diisih.
Kunci dict yang diisih mestilah boleh dicincang dan boleh dibandingkan. Cincang dan jumlah pesanan kunci tidak boleh berubah semasa ia disimpan dalam dict yang diisih.
from sortedcontainers import SortedDict sd = SortedDict({"b": 2, "a": 1}) sd["c"] = 3 print(sd) # Output: {'a': 1, 'b': 2, 'c': 3}
Set yang memastikan elemennya diisih.
from sortedcontainers import SortedSet ss = SortedSet([3, 1, 1, 4]) ss.add(2) print(ss) # Output: SortedSet([1, 2, 3, 4])
Seperti SortedList, SortedSet juga menerima parameter utama yang boleh digunakan dengan cara yang sama.
Walaupun struktur data yang diisih menawarkan kelebihan yang ketara, ia datang dengan pertukaran:
Struktur data yang diisih ialah alat yang sangat diperlukan untuk mengoptimumkan aplikasi yang memerlukan penyelenggaraan pesanan dinamik. Walaupun pembangun sepatutnya dapat melaksanakan struktur data ini dengan mudah, adalah bagus untuk menyediakan pelaksanaan yang mantap ini yang boleh digunakan terus-menerus tanpa mengalami mimpi ngeri tentang kotak sudut dalam perkhidmatan yang digunakan dalam pengeluaran. Pustaka terbina dalam Python dan modul pihak ketiga seperti sortedcontainers menyediakan penyelesaian yang serba boleh dan cekap untuk pelbagai masalah. Dengan memahami kekuatan dan pertukaran mereka, anda boleh memilih alatan yang betul untuk membina aplikasi yang berprestasi dan berskala.
Atas ialah kandungan terperinci Struktur Data Isih dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!