Artikel ini memperkenalkan timbunan, struktur data seperti pokok khusus yang berkait rapat dengan susunan, beratur, dan pokok. Heaps mengekalkan harta timbunan : nilai nod induk sentiasa diperintahkan berbanding dengan nilai anak -anaknya. Konsep utama termasuk max-heaps, min-heaps, dan giliran keutamaan.
Takeaways utama:
SplHeap
, SplMaxHeap
, SplMinHeap
, dan SplPriorityQueue
untuk pengurusan timbunan. Beratur keutamaan, selalunya berasaskan timbunan, cari penggunaan di meja perkhidmatan dan algoritma graf. tumpukan secara terperinci:
Max-heaps meletakkan nilai terbesar di akar, dengan ibu bapa selalu lebih besar daripada atau sama dengan anak-anak mereka. Min-Heaps adalah songsang. SPL PHP menyediakan alat untuk semua jenis ini. Contoh max-heap:
semiheap , yang memerlukan penstrukturan semula. Ini dilakukan dengan menggerakkan nod terakhir ke akar dan kemudian "mengalir ke bawah" akar baru sehingga harta timbunan dipulihkan.
Tumpukan max binari boleh dilaksanakan menggunakan array. Kod PHP berikut menunjukkan ini:
Penyisipan menambah item ke hujung dan "menipu" ke kedudukan yang betul. Pengekstrakan menghilangkan akar, menggantikannya dengan item terakhir, dan "menipu ke bawah."
<?php class BinaryHeap { protected $heap; // ... (rest of the code as provided in the input) ... } ?>
php's
dan memudahkan pengurusan timbunan. Memperluas kelas ini dan mengatasi kaedah untuk perbandingan tersuai. SplMaxHeap
SplMinHeap
SplMaxHeap
SplMinHeap
compare
bertindak seperti barisan tetapi menggunakan tumpukan max secara dalaman. Ia berguna untuk tugas berasaskan keutamaan. Mengatasi kaedah
SplPriorityQueue
Ringkasan:
Artikel ini meliputi struktur data timbunan, pelaksanaannya dalam PHP (kedua -duanya secara manual dan menggunakan kelas SPL), dan aplikasinya, terutamanya dalam beratur keutamaan. Artikel masa depan akan meneroka graf.
Soalan Lazim (Soalan Lazim):
Seksyen FAQ yang disediakan adalah komprehensif dan tepat menangani soalan umum mengenai timbunan dalam PHP. Tidak ada keperluan untuk pengubahsuaian atau penambahan.
Atas ialah kandungan terperinci PHP Master | Struktur data untuk devs php: timbunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!