Kezdőoldal » Számítástechnika » Programozás » Text-tömörítőprogram algoritmu...

Text-tömörítőprogram algoritmus bináris fa nélkül hogyan? (bővebben lent)

Figyelt kérdés

Olyan algoritmust lehet írni, amely text fájlokat tömörít úgy, hogy mintákat keres, de nem használ bináris fát, se run-length kódolást?

Pl. Python-ban van ilyen modul készen, ami tudja ezt?

Például van olyan szöveg, amiben lehet mintákat keresni: ablak, bab, abrakadabra, baba, ...



2021. szept. 29. 18:25
1 2
 1/13 anonim ***** válasza:
7%
hogyne! Sőt, olyat is lehet írni, ami nem használ semmit, csak könyököl a kocsmapulton.
2021. szept. 29. 20:04
Hasznos számodra ez a válasz?
 2/13 anonim ***** válasza:
51%
És az miért lenne jó neked? Nem véletlen ezen az elven működnek a tömörítő programok. Mi a bajod a bin.fa és a run--length algoritmusokkal?
2021. szept. 29. 20:17
Hasznos számodra ez a válasz?
 3/13 A kérdező kommentje:
Érdekelne, hogy ezek nélkül meg lehetne -e valósítani és ha igen, hogyan, milyen hatékonysággal.
2021. szept. 29. 20:30
 4/13 anonim ***** válasza:
67%
Ülj neki és gondolkozz. Egyébként itt találsz egy rakás linket ami ennek a matekjával foglalkozik: [link]
2021. szept. 29. 20:34
Hasznos számodra ez a válasz?
 5/13 anonim ***** válasza:
0%

Lehet ilyet, csak kalap szaar lesz a tömörítés hatásfoka.

Simán elég transzkódolni a karaktereket, mivel egy byte 256 lehetőség, az angol ABC meg csak 26 betű. A 8 bites kódot lecseréled 5 bitesre és már nyertél helyet, pedig még nem is tömörítetted.

Igaz, valójában tömörítés nincs is. Ezt felejtsd is el, hogy te tömöríteni fogsz, mert nem lehet.

2021. szept. 29. 20:59
Hasznos számodra ez a válasz?
 6/13 anonim ***** válasza:
65%

6 (2021.09.29. 22:36): Bocs mi van? Mi köze ennek a válasznak a kérdéshez? Mi köze egy algoritmusnak ahhoz, hogy te mit tákolsz autohotkey-ben? Itt felsorol legalább 30 féle algoritmust, nem mindegyik bin.fa és run-length alapú: [link]


Van köztük hatékonyabb kevésbé hatékony, gyorsabb lassabb. Innen érdeme tovább haladjál. Sok sikert.

2021. szept. 30. 09:12
Hasznos számodra ez a válasz?
 7/13 anonim ***** válasza:
0%
7-es, az átfordítás, a köze. Ahogy írtam, tehát a python és az autohotkey ugyanazt megtudja csinálni, és én ezt át tudom fordítani, lényegében, ugyanaz lesz, csak máshogy fog kinézni a kód. 6-os, remélem befejezitek ezt valaha is, ez a kötözködés, durva.
2021. szept. 30. 10:24
Hasznos számodra ez a válasz?
 8/13 anonim ***** válasza:
100%

8: Ezt hívják úgy, hogy "off topic" hozzá szólás: Ld. általálnos felhasználó szabályok:

"(i) Tilos szándékosan hátráltatni a szolgáltatást, bármilyen módon megzavarni a Weboldal működését (pl. flood, spam, offtopic, provokáció, script hozzászólások)."


A kérdés arról szól: "Olyan algoritmust lehet írni" itt az algoritmusról volt szó. Sehol nem szerepel a kérdésben az "átfordítás". Csak a Te kedvedért az algoritmus itt azt jelenti, hogy milyen módszer szerint működk a dolog. Ez totálisan független, hogy azt BASIC, C, FORTRAN, Cobol, Pascal, Python, C#, C++, Java, Javascript, PHP és sorolhatnám milyen nyelveken valósítjuk meg. Ez általában (és itt nem kevés) matekot tartalmazó dolog, amiben azt vizsgáljuk, hogy milyen módon lehet egy szöveget tömöríteni. Azaz az eredeti szöveg tárolására kellett pl. 100 kByte, de szeretnénk pl. csak 80kByte-ba elrakni (ez egy 80%-os tömörítés, más fogalmak szerint 20%-is aztól függően, hogy honnan nézzük).

Ezek az algoritmusok a szövegek (és az adott nyelvek, mert ezek között vannak nyelv függőek) sajátosságain, szabályain alapulnak (kezdve ilyen fogalmakkal, hogy entrópia, információtartalom stb.) nem véletlen, hogy Shannon neve sok helyen fel-fel bukkan. Jelenleg több tucat ilyen algoritmus létezik. Erre linkeltem is oldalt, ahol ezek fel vannak sorolva, hogy onnan keresgélhet a kérdező. Illetve szintén a wiki szócikk alján van egy link gyüjtemény ahol az egész matekjárval foglalkoznak ami alapján esetleg ki találhat új algoritmust.

Ha meg megvan az algoritmus, után, hogy milyen nyelve valósítja meg (feltéve ha az adott nyelv valóban teljesértékű programozási nyelv) az már kb. azonos eredményt ad.

2021. szept. 30. 10:40
Hasznos számodra ez a válasz?
 9/13 anonim ***** válasza:
100%

#8 te magadnak válaszolgatsz?


Arra akarták felhívni a figyelmed, hogy bár a kérdezö említi a pythont, de alapvetöen a kérdés tömörítési algoritmusokra vonatkozik. Te meg jössz az autohotkey-el. Ráadásul az autohotkey egy specializált nyelv windowsos workspace automatizálásra.... Tömörítöalgoritmusokat írni benne kicsit olyan, mint webes backendet írni assemblyben: lehet, de minek.

2021. szept. 30. 10:45
Hasznos számodra ez a válasz?
 10/13 anonim ***** válasza:
100%
9: Amikor a választ írtam, előttem még volt egy 8. válasz is. Csak időközben ezek szerint törölték. Amiben a válaszadó emlegette az autohotkey-t és arra reagáltam, hogy nem az volt a kérdés, hogy meg lehet-e oldalni. így hogy egy választ töröltek kicsit értelmetlen a válaszom eleje.
2021. szept. 30. 10:49
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!