Rumah >pembangunan bahagian belakang >C++ >Perwakilan tatasusunan timbunan binari

Perwakilan tatasusunan timbunan binari

PHPz
PHPzke hadapan
2023-09-04 22:45:05733semak imbas

Pokok binari lengkap yang mematuhi sifat pengisihan timbunan dipanggil timbunan binari.

Berdasarkan cara timbunan binari diisih, ia boleh dibahagikan kepada dua jenis:

Timbunan minimum ialah timbunan di mana nilai nod lebih besar daripada atau sama dengan nilai nod induknya. Nod akar bagi timbunan min adalah yang terkecil.

Timbunan maks ialah timbunan yang nilai nod adalah kurang daripada atau sama dengan nilai nod induknya. Nod akar timbunan maks adalah yang terbesar.

Nilai timbunan binari biasanya diwakili sebagai array. Perwakilan tatasusunan bagi timbunan binari adalah seperti berikut:

  • Indeks unsur akar ialah 0.

  • Jika i ialah indeks nod dalam tatasusunan, maka indeks nod lain yang berkaitan dengan nod itu adalah seperti berikut:

    • Anak kiri: (2*i)+1

    • Anak kanan : (2*i )+2

    • Nod induk: (i-1)/2

Menggunakan peraturan perwakilan tatasusunan di atas, kita boleh mewakili timbunan sebagai tatasusunan:

Perwakilan tatasusunan timbunan binari

147891112

Sekarang, kita boleh bincangkan jenis-jenis Timbunan Minimum
    - Akar nod mempunyai nilai minimum. Nilai nod adalah lebih besar daripada nilai nod induk.
  • Contoh:

Perwakilan tatasusunan timbunan binari

Perwakilan tatasusunan:

14 Max Heap - Nod akar mempunyai nilai maksimum. Nilai nod adalah kurang daripada nilai nod induk.
10 8
  • Contoh:

Perwakilan tatasusunan timbunan binari Perwakilan susunan:

11

51

Atas ialah kandungan terperinci Perwakilan tatasusunan timbunan binari. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam