Kezdőoldal » Számítástechnika » Programozás » Segítség egyszerű láncolt...

Segítség egyszerű láncolt listás algoritmusok megértésében (pseudokód)?

Figyelt kérdés

Van két algoritmusom, amelyben amikor két elem közé szúrunk be, vagy törlünk a hivatalos megoldás segédváltozót használ. A kérdésem, hogy erre miért van szükség. Nem egyenértékű a két megoldás?


1.hivatalos a beszúrós algoritmushoz

új.köv <- p

e.köv <- új


2.nekem átláthatóbb

új.köv <- p.köv

p.köv <- új


[link]


[link]


Nagyon szépen köszönöm a segítséget.



2018. dec. 28. 09:03
 1/4 anonim ***** válasza:

30 éve programozok, 15 éve (diploma óta) ebből élek, de ilyen olvashatatlan kakát ritkán láttam eddig.


Viszont a two steps from hell legalább hallgatható

2018. dec. 28. 09:12
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:

Nem, nem egyenértékű. Gondold végig.

Először a rendezett listában megkeresed az első olyan elemet, ami a sorban hátrébb esik, mint az új elem. Tehát pl ha az új érték kulcsa 9, akkor addig megy, amíg a p kulcsa 9 vagy 10 nem lesz. Az e ugye a p előtti elem lesz.


A hivatalos kód az új elemet az e és a p közé szúrja be, a te kódod meg a p után. Tehát ha az új elem kulcsa 9, a p kulcsa pedig 10, akkor máris rossz lesz a sorrend.

2018. dec. 28. 10:43
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:
Szépen haladj szekvencia szerint a pszeudoban, közben rajzold/nyilazd az elemeket, hogy mi történik velük. Sokkal gyorsabban letisztul, hogy miért kell. A felszabadít csak pszeudóban van vizsont, c#ben gc összeszedi.
2018. dec. 28. 15:49
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

#2 Nem egészen, mert a segédváltozó kivétele azt is jelenti, hogy nem p-re, hanem p->köv-re ellenőrzünk a ciklusban. És így működni fog. Ennek az egyetlen hátulütője, hogy a hivatalos megoldás ciklusának elgelső iterációja így kimarad, tehát azt az esetet, ha egyszer sem futna le a hivatalos ciklus külön le kell ellenőrizni az elején a módosított változatban.


Előnye: Mivel minden hivatkozás p-ből indul, így nem történhet meg az a baki, hogy a segédváltozót valahol nem igazítjuk a p-hez és elcsúszik a dolog. Ez nyilván összetettebb algoritmusokban releváns.

2018. dec. 28. 23:27
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!