Sobes.tech
Middle

რა აკეთებს heap push და როგორ ამატებს ელემენტს კუპაში?

sobes.tech AI

პასუხი AI-სგან

Heap push — ეს ოპერაციაა, რომელიც ახდენს ახალი ელემენტის დამატებას „კუპაში“ (heap), რომელიც ინარჩუნებს კუპის თვისებებს (მაგალითად, მინიმალურ ან მაქსიმალურ).

როგორ ხდება დამატება:

  1. ახალი ელემენტი მოთავსებულია კუპას მიმზიდველ მასივის ბოლო ნაწილში.
  2. შემდეგ, ხორციელდება ოპერაცია "ზევით სარწყავი" (sift-up ან bubble-up): ელემენტი შედარებულია მისი მშობელთან, და თუ დარღვეულია კუპის თვისება (მაგალითად, მინიმალურ კუპაში, თუ ელემენტი ნაკლებია მშობელზე), ელემენტები იცვლება ადგილებს.
  3. ეს პროცესი განმეორებით ხდება, სანამ ელემენტი არ აღმოჩნდება სწორი პოზიციაზე, აღდგენილი კუპის თვისებებით.

ამ გზით, heap push უზრუნველყოფს ელემენტის დამატებას კუპის წესრიგის შენარჩუნებით, რაც საშუალებას იძლევა ეფექტურად გამოიღოს მინიმალური ან მაქსიმალური ელემენტი.

Python-ში, heapq მოდულის გამოყენებით, მაგალითი:

import heapq

heap = [1, 3, 5, 7]
heapq.heapify(heap)  # სია გარდაიქმნება კუპად

heapq.heappush(heap, 2)  # 2-ის დამატება
print(heap)  # კუპა შენარჩუნებული წესით

შედეგად, ელემენტი 2 დამატდება და "ზევით სარწყავდება" რათა შეინარჩუნოს მინიმალური კუპის თვისებები.