Konsep Istimewa, Nama Dikongsi: Runtime Heap dan Struktur Data
Dalam bidang sains komputer, istilah "timbunan" merujuk kepada dua konsep berbeza: timbunan masa jalan dan struktur data tertentu. Pertindihan tatanama yang ingin tahu ini telah menyebabkan beberapa kekeliruan, menimbulkan persoalan: adakah terdapat hubungan asas antara kedua-dua entiti ini?
Asal-usul Istilah Timbunan untuk Peruntukan Memori Masa Jalan
Menurut Donald Knuth dalam karya seminalnya "The Art of Computer Programming," istilah "timbunan" muncul dalam pertengahan tahun 1970-an untuk menerangkan kumpulan memori yang digunakan untuk peruntukan memori dinamik dalam bahasa seperti C. Rantau memori ini tidak boleh ditangani secara langsung dan berkembang serta mengecut apabila program meminta dan melepaskan memori. Nama "timbunan" mungkin diilhamkan oleh sifatnya yang sering tidak teratur dan tidak teratur, serupa dengan timbunan objek yang tidak kemas.
Struktur Data Timbunan
Sebaliknya, struktur data timbunan ialah pokok binari lengkap yang digunakan untuk operasi baris gilir keutamaan yang cekap. Elemen dalam timbunan disimpan dengan cara khusus yang mengekalkan sifat timbunan: setiap nod adalah lebih besar daripada atau sama (untuk timbunan min) atau kurang daripada atau sama (untuk timbunan maks) kepada anak-anaknya. Organisasi ini membenarkan pemasukan dan pengekstrakan pantas elemen berdasarkan keutamaan.
Etimologi Dikongsi, Konsep Berbeza
Walaupun kedua-dua konsep timbunan berbeza dengan jelas dalam fungsi dan penggunaan, terdapat kemungkinan sambungan dalam etimologi mereka. Istilah "timbunan" pada asalnya merujuk kepada timbunan objek dalam bahasa Inggeris, sejajar dengan sifat timbunan masa jalan yang tidak teratur. Perkataan itu kemudiannya berkembang untuk menandakan gundukan tanah atau batu dalam bahasa tertentu, yang berpotensi memberi inspirasi kepada struktur hierarki struktur data timbunan.
Kesimpulan
Walaupun namanya dikongsi bersama. , timbunan masa jalan dan struktur data timbunan pada asasnya adalah konsep yang berbeza dengan peranan yang berbeza dalam pengaturcaraan komputer. Yang pertama menyediakan peruntukan memori dinamik, manakala yang kedua memudahkan operasi baris gilir keutamaan yang cekap. Asal usul istilah "timbunan" untuk kedua-dua konsep masih menjadi spekulasi, tetapi kaitan dengan ciri masing-masing tidak dapat dinafikan.
Atas ialah kandungan terperinci Timbunan: Memori Masa Jalan atau Struktur Data? Apakah Sambungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!