Hirdetés
Ú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?:))
- Lenovo Yoga 7 2-in-1 OLED Ryzen 5 8640HS 16GB /512SSD/1év gari
- Dobozos Asus VivoBook S 15 Laptop 15,6" -30% Snapdragon X Elite 32/1TB 3K OLED 120Hz
- Jó állapotú Playstation 2 SLIM SCPH-70005 csomag eladó!
- Emc CX4-4PDAE STORAGE- adattároló - 15X 3TB - Több db van
- BESZÁMÍTÁS! LENOVO ThinkPad P15 Gen2 munkaállomás - i7 11800H 16GB DDR4 512GB SSD Quadro T1200 4GB W
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


