Sobes.tech
Middle

Heap push nima qiladi va u qanday qilib elementni kupaga qo'shadi?

sobes.tech AI

AIdan javob

Heap push — bu yangi elementni 'kuchak' (heap) ma'lumotlar tuzilmasiga qo'shish operatsiyasi bo'lib, u kuchakning xususiyatlarini (masalan, minimal yoki maksimal) saqlab qoladi.

Qo'shish qanday amalga oshiriladi:

  1. Yangi element kuchakni ifodalovchi massivning oxiriga joylashtiriladi.
  2. Keyin, "tepaga siljish" (sift-up yoki bubble-up) operatsiyasi bajariladi: element ota bilan solishtiriladi, va agar kuchak xususiyati buzilsa (masalan, min-kuchakda, element otaidan kichik bo'lsa), elementlar o'zaro almashtiriladi.
  3. Bu jarayon, element to'g'ri pozitsiyada bo'lguncha takrorlanadi va kuchak xususiyatlari tiklanadi.

Shu tarzda, heap push elementni qo'shishda kuchak tartibini saqlab qoladi, bu esa minimal yoki maksimal elementni samarali chiqarib olish imkonini beradi.

Python'da heapq modulidan foydalanib misol:

import heapq

heap = [1, 3, 5, 7]
heapq.heapify(heap)  # Ro'yxatni kuchakka aylantiradi

heapq.heappush(heap, 2)  # 2 elementini qo'shadi
print(heap)  # Tartib saqlangan kuchak

Natijada, 2 elementi qo'shiladi va "tepaga siljib" min-kuchak xususiyatlarini saqlab qoladi.