Python LZW-Komprimierung

XHotSniperX

Lt. Junior Grade
Registriert
Jan. 2008
Beiträge
472
Ich möchte eine LZW Komprimierung schreiben in Python. Ich kenne Python nicht wirklich gut aber ich weiss wie LZW funktioniert.

Im Anhang ist ein Pseudocode, den man im Internet findet. Ich versteh jetzt aber nicht ganz alles.
Sind die dicken Punkte so gemeint, dass man die Zeichen quasi als Strings zusammen anweisen muss?

Also ich würde gerne verstehen, wie der Komprimiervorgang überlegt wurde. Sagen wir mal wir haben ein simples Beispiel "ABBBBB" und das möchte ich komprimieren. Wird dann mit Wort = Wort°Zeichen z.B. Wort = "A"+"B" gemeint oder wie kann ich das verstehen?

Wäre froh, wenn einer mir helfen könnte. danke :)
 

Anhänge

  • lzw.jpg
    lzw.jpg
    45,9 KB · Aufrufe: 193
Ich glaub mit den Punkten wird die Konkatenation von 2 Strings gemeint.
Konkatenation ist die Hintereinanderreihung von 2 Strings.

Wenn du ein Wort hast, das bereits im Wörterbuch enthalten ist und da dann noch ein Zeichen hinhängst und das im Wörterbuch enthalten ist, dann wird das als neues Wort abgespeichert.

Kenn mich mit Python zwar nicht aus, aber sollte wohl so sein.

Kleines Beispiel:
sei z.B. aaaabbbb ein Wort aus dem Wörterbuch.
aaaabbbb*a (a ist ein weiteres Zeichen), ist jetzt aaaabbbb*a (=aaaabbbba) im Wörterbuch enthalten, ist aaaabbbba ein neues Wort.
 
Ahh so ist das gemeint. Ok ich danke dir!
 
Zurück
Oben