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-ը կավելացվի և "վերևից սուզվի"՝ պահպանելով մին-հավաքի հատկությունները։