Middle
Ի՞նչ է անում heap push-ը և ինչպես է այն ավելացնում տարր հողամասին:
sobes.tech AI
Պատասխան AI-ից
Heap push — սա նոր տարր ավելացնելու գործողություն է «հավաքի» (heap) տվյալների կառուցվածքին, որը պահպանում է հավաքի հատկությունները (օրինակ՝ նվազագույն կամ առավելագույն):
Ինչպես է տեղի ունենում ավելացումը՝
- Նոր տարրն տեղադրվում է հավաքի ներկայացնող զանգվածի վերջում:
- Այնուհետև կատարվում է "վերևից սուզում" (sift-up կամ bubble-up) գործողությունը՝ տարրն համեմատվում է նրա ծնողի հետ, և եթե խախտվում է հավաքի հատկությունը (օրինակ՝ մին-հավաքում, եթե տարրն փոքր է ծնողից), տարրերը փոխվում են տեղերով:
- Այս գործընթացը կրկնվում է, մինչև տարրն գտնվի ճիշտ դիրքում, վերականգնելով հավաքի հատկությունները:
Այսպիսով, heap push ապահովում է տարր ավելացնելը՝ պահպանելով հավաքի կարգը, ինչը թույլ է տալիս արդյունավետորեն հանել նվազագույն կամ առավելագույն տարրերը:
Python-ում՝ heapq մոդուլը օգտագործելով՝
import heapq
heap = [1, 3, 5, 7]
heapq.heapify(heap) # Փոխում է ցանկը հավաքի
heapq.heappush(heap, 2) # Ավելացնում է 2-ը
print(heap) # Հավաք՝ պահպանված կարգով
Արդյունքում, 2-ը կավելացվի և "վերևից սուզվի"՝ պահպանելով մին-հավաքի հատկությունները։