Lauflängenkodierung Binärtext?
Hallo, ich habe folgenden Binärtext:
1111100001011000011111100000000011111
Wie kodiere ich den mit Hilfe der Lauflängenkodierung?
Wie errechne ich wie viel % Kompression erreicht wird?
Danke schonmal!
1 Antwort
![](https://images.gutefrage.net/media/default/user/15_nmmslarge.png?v=1551279448000)
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?