Új hozzászólás Aktív témák
-
axioma
veterán
válasz
#74220800
#9327
üzenetére
Argh, a megvan-os hsz-edet figyelmetlenul olvastam, azert benne hagyom mert ha ott insert-alsz, akkor talalsz me'g ebben hasznos infot.
En azt nem ertem, hogy miert veszed kulon a torlest es a heapify-t... torolsz az _elejerol_ (ami implementaciofuggo, de a vegerol torles csak olcsobb vagy ugyanannyi lehet, mint az elejerol), holott neked az elejen kell a hely, az utolso elemet kene csak odahelyezni es lekuldeni.
Bocs, java kodban nincs epp keznel, de pythonban ugyanez a kivetel (a tombindexeles ellenere az egy lista, a pop() meg az utolso elemet tavolitja el es adja ertekul):print mylist[0]
if cou==1: # itt van az aktualis meret
mylist=[]
cou=0
else:
act=mylist.pop()
cou-=1
tmp=0
while (tmp*2+1<cou and mylist[tmp*2+1]>act) or (tmp*2+2<cou and mylist[tmp*2+2]>act):
if tmp*2+2==cou or mylist[tmp*2+1]>mylist[tmp*2+2]:
mylist[tmp]=mylist[tmp*2+1]
tmp=tmp*2+1
else:
mylist[tmp]=mylist[tmp*2+2]
tmp=tmp*2+2
mylist[tmp]=actEgyebkent most hogy nezem a kodod, pont ez a baj! Hiszen az eltavolitas utan lesz egy olyan listad, ami az uj index miatt mar nem is heap! Ez szerintem egy erosen kerulendo koztes allapotkent is... Be kene elore szurni magat az utolso elemet, es arra hivni a heapify-t, de akkor mar egyszerubb ez az on-the-fly modszer (amig nem teszed be, addig csak orzod hasonlitasra, majd a vegleges helyen adod ertekul).
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Apple iPhone 13Pro 256GB Kártyafüggetlen 1év Garanciával
- LG 27MR400 - 27" IPS LED - 1920x1080 FHD - 100hz 5ms - AMD FreeSync - Villódzásmentes
- Apple iPhone 15 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 13 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3835
- Fujitsu Lifebook A3510 Laptop
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

