Lauflängenkodierung Binärtext?

1 Antwort

Du kannst so vorgehen:

Lies die Eingabe von links nach rechts und notiere, wie viele Einsen oder Nullen am Stück hintereinander stehen.

Deine kodierte Ausgabe besteht dann aus Tupeln (a,b), wobei a das kodierte Zeichen ist, und b die Lauflänge. (a,b) bedeutet also: b mal das Zeichen a.

Bei Deiner Eingabe ergibt das

(1,5)(0,4)(1,1)(0,1)(1,2) ... und so weiter.

Die Kompressionsrate ist dann die Anzahl der Bits des komprimierten Textes geteilt durch die Anzahl der Bits des Originaltextes.

Wie viele Bits der komprimierte Text genau hat hängt aber stark davon ab in welchem Format die komprimierten Daten geschrieben werden. Hast Du vielleicht ein bestimmtes, vorgegebenes Format?