Timbunan lwn Timbunan
Timbunan ialah senarai tersusun di mana penyisipan dan pemadaman item senarai boleh dilakukan hanya pada satu hujung yang dipanggil bahagian atas. Atas sebab ini, tindanan dianggap sebagai struktur data Terakhir Keluar Dahulu (LIFO). Heap ialah struktur data khas yang berasaskan pokok dan ia memenuhi sifat khas yang dipanggil sifat heap. Selain itu, timbunan ialah pokok yang lengkap, yang bermaksud bahawa tiada jurang antara daun pokok iaitu dalam pokok yang lengkap setiap tahap diisi sebelum menambah tahap baru pada pokok dan nod dalam tahap tertentu diisi dari kiri ke kanan.
Apakah Tindanan?
Seperti yang dinyatakan sebelum ini, tindanan ialah struktur data di mana elemen ditambah dan dialih keluar daripada hanya satu hujung yang dipanggil bahagian atas. Tindanan membenarkan hanya dua operasi asas yang dipanggil push dan pop. Operasi tolak menambah elemen baharu pada bahagian atas timbunan. Operasi pop mengalih keluar elemen dari bahagian atas timbunan. Jika tindanan sudah penuh, apabila operasi tolak dilakukan, ia dianggap sebagai limpahan tindanan. Jika operasi pop dilakukan pada tindanan yang sudah kosong, ia dianggap sebagai aliran bawah tindanan. Oleh kerana bilangan kecil operasi yang boleh dilakukan pada tindanan, ia dianggap sebagai struktur data terhad. Selain itu, mengikut cara operasi tolak dan pop ditakrifkan, adalah jelas bahawa unsur-unsur yang ditambahkan terakhir ke dalam tindanan akan keluar daripada tindanan terlebih dahulu. Oleh itu tindanan dianggap sebagai struktur data LIFO.
Apakah Heap?
Seperti yang dinyatakan sebelum ini, timbunan adalah pokok lengkap yang memenuhi sifat timbunan. Sifat heap menyatakan bahawa, jika y ialah nod anak bagi x maka nilai yang disimpan dalam nod x hendaklah lebih besar daripada atau sama dengan nilai yang disimpan dalam nod y (iaitu nilai(x) ≥ nilai(y)). Sifat ini membayangkan bahawa nod dengan nilai terbesar akan sentiasa diletakkan pada akar. Timbunan yang dibina menggunakan sifat ini dipanggil timbunan maks. Terdapat satu lagi variasi sifat timbunan yang menyatakan sebaliknya. (iaitu nilai(x) ≤ nilai(y)). Ini menunjukkan bahawa nod dengan nilai terkecil akan sentiasa diletakkan pada akar, oleh itu dipanggil timbunan min. Terdapat pelbagai operasi yang dilakukan pada timbunan seperti mencari minimum (dalam timbunan min) atau maksimum (dalam timbunan maks), memadam minimum (dalam timbunan min) atau maksimum (dalam timbunan maks), meningkat (dalam timbunan maks. -timbunan) atau kekunci menurun (dalam timbunan min), dsb.
Apakah perbezaan antara Stack dan Heap?
Perbezaan utama antara tindanan dan timbunan ialah walaupun tindanan ialah struktur data linear, timbunan ialah struktur data bukan linear. Tindanan ialah senarai tertib yang mengikuti sifat LIFO, manakala timbunan ialah pokok lengkap yang mengikuti sifat timbunan. Selain itu, tindanan ialah struktur data terhad yang hanya menyokong bilangan operasi terhad sebagai push dan pop, manakala heap menyokong pelbagai operasi seperti mencari dan memadam minimum atau maksimum, menambah atau mengurangkan kunci dan menggabungkan.