Láncolt lista gyakorlása szöveges feladatokkal?
Itt van egy:
"Implementáljunk egy láncolt listát(csak láncolt listával lehet megoldani)"
Nincs olyan feladat, amit csak egyféleképpen lehet megoldani, sőt.
A szoftverfejlesztésben mindig 1000 féle út áll nyitva. Magasabb szinten nem az a kihívás, hogy lekódolj valamit, hanem, hogy megtaláld az optimális irányt.
"Biztos vannak olyan feladatok, amely szinte megkívánja, hogy azzal legyen megoldva, mert a legegyszerűbb a törlés/beszúrás stb műveletet azzal megvalósítani"
Akkor linkelj egy ilyen feladatot öcskös!
Nem vagyok öcskös, ilyen feladatokban kértem segítséget.
Én csak arra utaltam, hogy el tudok képzelni olyat, amit ezzel érdemes megoldani, hogy a legkevesebb művelettel lehessen elemeket kivenni-betenni-mozgatni.
Vegyük például azt, amikor - mondjuk - egy bank ügyfeleit akarod betenni egy listába (például egy struktúratömbbe). Ilyenkor, főleg, ha sokszor kell például új ügyfelet regisztrálni vagy régebbieket töröli, érdemes egy láncolt listát használni. Ez egy nagyon egyszerű feladat, elég egy sima egyszeresen láncolt lista hozzá.
Természetesen ki lehet egészíteni mondjuk olyan opciókkal, hogy átutalás az ügyfelek között (ilyenkor ugye a listában kell keresgélni először, hogy megtaláld a feleket) vagy tehetsz bele saját gyártású emailcím és telefonszám validáló függvényeket (egyébként én most C nyelvről beszélek, de nyilván nem kell ehhez ragaszkodni) és így tovább.
De persze építhetsz bináris fákat is ilyen önhivatkozó adatszerkezetekkel vagy akár megpróbálhatod implementálni így a Huffman kódolást is.
De készíthetsz olyan listákat externális adatokkal, ahol a lista elemeit ugyan továbbra is pointerek kötik össze, viszont az adatok nem a lista elemeiben tárolódnak, hanem a lista elemeiben van egy extra pointer, ami arra a helyre mutat, ahol az externállis adatok megtalálhatók.
Persze akad számos egyéb lehetőség, ez most csak az, ami ebéd előtt hirtelen eszembe jutott.
Köszönöm a válaszokat.
Igazából akkor nem értem miért tartották olyan fontos adatszerkezetnek egyes tanárok régen (most nem tudom mi a helyzet) a láncolt listát.
Ha egy fájlban eltárolok adatokat és rendezem őket gyorsrendezéssel, nem kell előző meg következőre mutató elem, bináris keresés is gyorsan megy, ha pedig elemtörlés van, az előző/következő mutatókat sem kell piszkálni.
Azt szerintem senki nem mondja, hogy nem fontos. Fontos és alapvető adatszerkezet.
De pont emiatt kb mindenre jó, ha adatokat kell tárolni.
Akkor lehet különösen előnyös, ha külön fontos szempont, hogy a kollekció közepére szúrás, törlés O(1) hatékonyságú legyen, de ez a feltétel kb ugyanaz, mitha leírták volna, hogy láncolt listát használj, nem közvetetten következik a feladatból.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!