Big O Komplexitäten von Algorithmen - LZW und Huffman

8

Was sind die Raum- und Zeitkomplexitäten in der Big-O-Notation für die Lempel-Ziv-Welch- und Huffman-Kompressionsalgorithmen? Google versagt mich.

Danke,

Francisco

    
Francisco P. 31.05.2011, 15:16
quelle

2 Antworten

8

Da die Wörterbuchgröße fest und unabhängig von der Eingabedauer ist, LZW ist in O ( n ), da jedes Byte nur einmal gelesen wird und die Komplexität der Operation für jedes Zeichen konstant ist.

Und Huffman-Codierung ist auch in O ( n ): Zuerst zählt man die Zahl von Vorkommen für jedes Eingangsbyte, dann sortieren Sie es und bauen die Ausgangskodierung auf.

    
Gumbo 31.05.2011, 15:29
quelle
3

Hängt von der Implementierung ab. Sie werden die ganze Zeit besser. "Huffman" ist ein etwas zu gewöhnlicher Begriff. Zum Beispiel könnte man einen expliziten Baum meinen, einen impliziten, einen dynamischen ... Aber auf jeden Fall, wenn du es schlau machst, solltest du in der Lage sein, fast jedes "Huffman" auf O (n) zu implementieren, mit n ist die Textlänge.

LZW ist auch implementierungsabhängig. Ich weiß nicht, was "O" gängige Implementierungen haben. Ich denke, mit großen Tabellen haben Sie wahrscheinlich etwas wie O (n log n) , aber das ist nur eine Vermutung.

    
towi 31.05.2011 15:22
quelle