Bevor ich meine Frage stelle, möchte ich mit meinem Verständnis der Definitionen beginnen, um mich vor weiterer Verwirrung zu schützen und Hintergrundinformationen zu geben.
Huffman-Code ist der Binärcode, der aus einem durch den Huffman-Algorithmus konstruierten Binärbaum induziert wird.
Hu-Tucker-Code ist der Binärcode, der aus einem alphabetischen Suchbaum induziert wird.
Laut Wikipedia (siehe Abschnitt Optimale alphabetische Binärbäume (Hu-Tucker-Codierung)):
Beim Standard-Huffman-Codierungsproblem wird angenommen, dass jedes Codewort einem beliebigen Eingabesymbol entsprechen kann. In der alphabetischen Version muss die alphabetische Reihenfolge der Ein- und Ausgänge identisch sein. So konnte beispielsweise kein Code werden. Stattdessen sollte entweder oder . Dies ist auch als Hu-Tucker-Problem bekannt, nachdem TC Hu und Alan Tucker, die Autoren der Arbeit, die erste linearithmische Lösung für dieses optimale binäre alphabetische Problem vorgestellt haben, das einige Ähnlichkeiten mit dem Huffman-Algorithmus aufweist, jedoch keine Variation davon darstellt Algorithmus. Diese optimalen alphabetischen Binärbäume werden häufig als binäre Suchbäume verwendet.
Meine Frage ist, was sind die Anwendungen solcher Bäume? (alphabetischer Binärbaum)
Ich habe versucht, online zu suchen, konnte aber keine zufriedenstellende Antwort finden.
Ich habe auch die Einleitung in Hu & Tuckers Artikel zu diesem Thema gelesen: Optimale Computersuchbäume und alphabetischer Code variabler Länge , aber ich konnte anhand
ihres Beispiels nicht genau herausfinden, wie ein solcher Baum verwendet wird.
Ich kann die Notwendigkeit eines kompakten, optimalen Präfixcodes, der durch einen optimalen Baum (dh Huffman-Code) induziert wird, sehr gut verstehen. Dies kann zur Komprimierung verwendet werden. Wozu werden jedoch alphabetische Binärbäume verwendet?