Stack vs Heap
Stack adalah senarai yang diperintahkan di mana penyisipan dan penghapusan item senarai boleh dilakukan hanya dalam satu hujung yang disebut bahagian atas. Oleh sebab itu, Stack dianggap sebagai struktur data pertama (lifo) yang terakhir. Tumpukan adalah struktur data khas yang berdasarkan pokok dan memenuhi harta khas yang disebut harta tanah. Juga, timbunan adalah pokok lengkap, yang bermaksud tidak ada jurang antara daun pokok i.e. Di dalam pokok lengkap setiap peringkat diisi sebelum menambahkan tahap baru ke pokok dan nod dalam tahap tertentu diisi dari kiri ke kanan.
Apa itu timbunan?
Seperti yang dinyatakan sebelum ini, timbunan adalah struktur data di mana unsur ditambah dan dikeluarkan dari satu hujung yang disebut bahagian atas. Tumpukan hanya membenarkan dua operasi asas yang dipanggil Push and Pop. Operasi push menambah elemen baru ke bahagian atas timbunan. Operasi pop menghilangkan elemen dari bahagian atas timbunan. Sekiranya timbunan sudah penuh, apabila operasi push dilakukan, ia dianggap sebagai limpahan timbunan. Sekiranya operasi pop dilakukan pada timbunan yang sudah kosong, ia dianggap sebagai stack underflow. Oleh kerana sebilangan kecil operasi yang boleh dilakukan pada timbunan, ia dianggap sebagai struktur data yang terhad. Di samping. Oleh itu timbunan dianggap sebagai struktur data LIFO.
Apa itu timbunan?
Seperti yang dinyatakan sebelum ini, timbunan adalah pokok lengkap yang memenuhi harta timbunan. Heap Property menyatakan bahawa, jika y adalah nod kanak -kanak x maka nilai yang disimpan dalam nod x harus lebih besar daripada atau sama dengan nilai yang disimpan dalam nod y (i.e. nilai (x) ≥ nilai (y)). Harta ini menunjukkan bahawa nod dengan nilai terbesar akan sentiasa diletakkan di akar. Timbunan yang dibina menggunakan harta ini dipanggil max-heap. Terdapat satu lagi variasi harta timbunan yang menyatakan sebaliknya ini. (i.e. nilai (x) ≤ nilai (y)). Ini menunjukkan bahawa nod dengan nilai terkecil akan sentiasa diletakkan di akar, dengan itu dipanggil Min-Heap. Terdapat pelbagai operasi yang dilakukan pada timbunan seperti mencari minimum (dalam t-heaps) atau maksimum (dalam max-heaps), memadam minimum (dalam t-heaps) atau maksimum (dalam max-heaps), meningkat (dalam maksimum -mengejutkan) atau menurun (dalam t-heaps) kunci, dll.
Apakah perbezaan antara timbunan dan timbunan?
Perbezaan utama antara susunan dan timbunan ialah sementara timbunan adalah struktur data linear, timbunan adalah struktur data bukan linear. Stack adalah senarai yang diperintahkan yang mengikuti harta lifo, sementara timbunan itu adalah pokok lengkap yang mengikuti harta timbunan. Selain itu, Stack adalah struktur data terhad yang hanya menyokong bilangan operasi yang terhad sebagai push dan pop, sementara Heap menyokong pelbagai operasi seperti mencari dan memadam minimum atau maksimum, meningkatkan atau mengurangkan kunci dan penggabungan.