Stek va uyum oʻrtasidagi farq

Stek va uyum oʻrtasidagi farq
Stek va uyum oʻrtasidagi farq

Video: Stek va uyum oʻrtasidagi farq

Video: Stek va uyum oʻrtasidagi farq
Video: Самый лучший способ размножения актинидии - 100% укоренение 2024, Iyul
Anonim

Stack va Heap

Stack - tartiblangan roʻyxat boʻlib, unda roʻyxat elementlarini kiritish va oʻchirish faqat yuqori deb ataladigan bir uchida amalga oshirilishi mumkin. Shu sababli, stek oxirgi kelgan birinchi chiqadi (LIFO) ma'lumotlar tuzilmasi sifatida qabul qilinadi. Uyma - bu daraxtlarga asoslangan maxsus ma'lumotlar tuzilmasi va u yig'ish xususiyati deb ataladigan maxsus xususiyatni qondiradi. Bundan tashqari, uyum to'liq daraxtdir, ya'ni daraxt barglari orasida bo'shliqlar yo'q, ya'ni to'liq daraxtda daraxtga yangi daraja qo'shilishidan oldin har bir daraja to'ldiriladi va berilgan darajadagi tugunlar to'ldiriladi. chapdan o'ngga.

Stek nima?

Yuqorida aytib o'tilganidek, stek - bu yuqori deb ataladigan faqat bir uchidan elementlar qo'shiladigan va olib tashlanadigan ma'lumotlar strukturasi. Staklar surish va pop deb ataladigan faqat ikkita asosiy operatsiyaga imkon beradi. Surish operatsiyasi stekning yuqori qismiga yangi element qo'shadi. Pop operatsiyasi stekning yuqori qismidagi elementni olib tashlaydi. Agar stek allaqachon to'lgan bo'lsa, surish operatsiyasi bajarilganda, u stekning to'lib ketishi deb hisoblanadi. Agar pop operatsiyasi allaqachon bo'sh stekda bajarilsa, u stekning quyi oqimi deb hisoblanadi. Stekda bajarilishi mumkin bo'lgan operatsiyalar soni kam bo'lganligi sababli, u cheklangan ma'lumotlar strukturasi sifatida qaraladi. Bundan tashqari, surish va pop operatsiyalarini aniqlash usuliga ko'ra, stekga oxirgi qo'shilgan elementlar birinchi navbatda stekdan chiqib ketishi aniq. Shuning uchun stek LIFO ma'lumotlar strukturasi sifatida ko'rib chiqiladi.

Rasm
Rasm

Heap nima?

Yuqorida aytib o'tilganidek, to'p - bu yig'ish xususiyatini qondiradigan to'liq daraxt. Heap xususiyati shuni ko'rsatadiki, agar y x ning ichki tugun bo'lsa, x tugunida saqlangan qiymat y tugunida saqlangan qiymatdan katta yoki unga teng bo'lishi kerak (ya'ni qiymat(x) ≥ qiymat(y)). Bu xususiyat eng katta qiymatga ega bo'lgan tugun har doim ildizga joylashtirilishini anglatadi. Ushbu xususiyatdan foydalangan holda tuzilgan uyma max-heap deb ataladi. Buning teskarisini bildiradigan yig'ish xususiyatining yana bir o'zgarishi mavjud. (ya’ni qiymat(x) ≤ qiymat(y)). Bu shuni anglatadiki, eng kichik qiymatga ega bo'lgan tugun har doim ildizga joylashtiriladi, shuning uchun min-heap deb ataladi. Uyumlar ustida bajariladigan operatsiyalarning keng doirasi mavjud: minimal (min-uyunda) yoki maksimal (maksimum-uyunda) topish, minimal (min-uyunda) yoki maksimal (maksimum-uyumlarda) oʻchirish), oshirish (maksimalda) -uymalar) yoki kamaytiruvchi (daqiqalarda) kalit va hokazo.

Stack va Heap oʻrtasidagi farq nima?

Steklar va toʻplamlar oʻrtasidagi asosiy farq shundaki, stek chiziqli maʼlumotlar strukturasi boʻlsa, toʻp chiziqli boʻlmagan maʼlumotlar strukturasidir. Stack - bu LIFO xususiyatidan keyin tartiblangan ro'yxat, to'p esa yig'ish xususiyatidan keyingi to'liq daraxtdir. Bundan tashqari, stek cheklangan ma'lumotlar tuzilmasi bo'lib, u surish va pop kabi cheklangan miqdordagi operatsiyalarni qo'llab-quvvatlaydi, yig'ish esa minimal yoki maksimalni topish va o'chirish, kalitni oshirish yoki kamaytirish va birlashtirish kabi keng ko'lamli operatsiyalarni qo'llab-quvvatlaydi.

Tavsiya: