Stack və Heap Arasındakı Fərq

Stack və Heap Arasındakı Fərq
Stack və Heap Arasındakı Fərq

Video: Stack və Heap Arasındakı Fərq

Video: Stack və Heap Arasındakı Fərq
Video: Xüsusi və Lokal IP-lər arasındakı fərq nədir? 2024, Iyul
Anonim

Stack vs Heap

Stack, siyahı elementlərinin daxil edilməsi və silinməsinin yalnız yuxarı adlanan bir ucunda edilə bilən sıralanmış siyahıdır. Bu səbəbdən stek “Last in First out” (LIFO) məlumat strukturu kimi qəbul edilir. Heap, ağaclara əsaslanan xüsusi məlumat strukturudur və yığın xassəsi adlanan xüsusi xüsusiyyəti təmin edir. Həmçinin, yığın tam ağacdır, yəni ağacın yarpaqları arasında boşluqlar yoxdur, yəni tam ağacda ağaca yeni səviyyə əlavə edilməzdən əvvəl hər bir səviyyə doldurulur və verilmiş səviyyədəki qovşaqlar aşağıdakılardan doldurulur. soldan sağa.

Stack nədir?

Əvvəlcə qeyd edildiyi kimi, yığın elementlərin yuxarı adlanan yalnız bir ucundan əlavə edildiyi və çıxarıldığı məlumat strukturudur. Yığınlar təkan və pop adlı iki əsas əməliyyata imkan verir. Təkan əməliyyatı yığının yuxarı hissəsinə yeni element əlavə edir. Pop əməliyyatı yığının yuxarı hissəsindən elementi çıxarır. Əgər yığın artıq doludursa, təkan əməliyyatı yerinə yetirildikdə, bu, yığının daşması kimi qəbul edilir. Əgər pop əməliyyatı artıq boş yığında həyata keçirilirsə, bu, yığının aşağı axını kimi qəbul edilir. Yığın üzərində həyata keçirilə bilən əməliyyatların sayının az olması səbəbindən o, məhdud məlumat strukturu kimi qəbul edilir. Bundan əlavə, təkan və pop əməliyyatlarının təyin olunduğu üsula görə, yığına sonuncu əlavə edilən elementlərin əvvəlcə yığından çıxdığı aydındır. Buna görə də yığın LIFO məlumat strukturu kimi qəbul edilir.

Şəkil
Şəkil

Heap nədir?

Əvvəlcə qeyd edildiyi kimi, yığın yığın xüsusiyyətini təmin edən tam ağacdır. Yığın xassəsi bildirir ki, əgər y x-in uşaq qovşağıdırsa, x node-da saxlanılan dəyər y node-da saxlanılan dəyərdən böyük və ya ona bərabər olmalıdır (yəni dəyər(x) ≥ dəyər(y)). Bu xüsusiyyət ən böyük dəyərə malik olan düyünün həmişə kökdə yerləşdiriləcəyini nəzərdə tutur. Bu xassədən istifadə edərək qurulan yığın max-heap adlanır. Bunun əksini bildirən yığın xassəsinin başqa bir variasiyası var. (yəni dəyər(x) ≤ dəyər(y)). Bu o deməkdir ki, ən kiçik dəyərə malik olan node həmişə kökdə yerləşdiriləcək, beləliklə, min-heap adlanır. Minimum (min-yığınlarla) və ya maksimum (maksimum-yığınlarda) tapmaq, minimum (min-yığınlarda) və ya maksimum (maksimum yığınlarda) silmək, artırmaq (maksimum) kimi yığınlar üzərində həyata keçirilən əməliyyatların geniş spektri mövcuddur -yığınlar) və ya azalan (min-yığınlarla) düyməsi və s.

Stack və Heap arasındakı fərq nədir?

Yığınlarla yığınlar arasındakı əsas fərq ondan ibarətdir ki, yığın xətti məlumat strukturu olduğu halda, yığın qeyri-xətti verilənlər strukturudur. Yığın LIFO xassəsini izləyən sıralı siyahıdır, yığın isə yığın xassəsini izləyən tam ağacdır. Bundan əlavə, yığın, təkan və pop kimi yalnız məhdud sayda əməliyyatları dəstəkləyən məhdud məlumat strukturudur, yığın isə minimum və ya maksimumun tapılması və silinməsi, açarın artırılması və ya azalması və birləşmə kimi geniş spektrli əməliyyatları dəstəkləyir.

Tövsiyə: