LZ tömörítés

LZ tömörítés
2015-12-07T20:15:52+01:00
2015-12-18T22:25:37+01:00
2022-10-20T18:25:31+02:00
  • Köszönöm, ez tökéletes :) Ha láttam is túl gyorsan átsiklottam fölötte.
    Mutasd a teljes hozzászólást!
  • Mutasd a teljes hozzászólást!
  • Üdv!

    C-ben próbálkozok egy LZ tömörítő program megírásával. Csak elméleti kérdésem lenne ezzel kapcsolatban. 
    Az elképzelés az, hogy a program létrehoz egy láncolt listát, amely a szótárt reprezentálja. Tárolok benne két számot (hol kezdődik az adott substring és milyen hosszú) és értelem szerűen a stringet.

    Definiáltam egy MIN változót, ami megadja egy szó minimális méretét.
    MIN karakterenként (legyen str) olvasom a file-t. Emellett még beolvasok mindig plusz egy karaktert (legyen ch), majd vizsgálom, hogy str-t tartalmazza-e a szótár. Ha igen akkor megnézem, hogy str+ch-t tartalmazza-e. Ha ezt már nem akkor kiírom a kimeneti file-ba str szótárban szereplő értékeit (hol kezdődik, milyen hosszú). Majd ch mellé olvasok még MIN-1 karaktert és így meglesz az új str
    Ha str+ch-t is tartalmazza a szótár akkor ch-t hozzáfűzőm str-hez majd beolvasok ch-ba még egy karaktert. Értelem szerűen ha az olvasott string nem szerepel a szótárban egyszerűen kiírom a file-ba.

    A szótár méretének van egy maximuma, ami főlé már nem léphet és a szótárban szereplő stringnek is van egy maximális hossza.  

    Szóval a kérdésem az lenne, hogy működő képes-e ez az elképzelés? Esetleg valakinek van valamilyen észrevétele, ötlete ezzel kapcsolatban?
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd