AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Huffmann-Code

Ein Thema von titus · begonnen am 25. Sep 2004 · letzter Beitrag vom 25. Sep 2004
Antwort Antwort
Benutzerbild von titus
titus

Registriert seit: 5. Apr 2004
Ort: Freiburg
232 Beiträge
 
#1

Huffmann-Code

  Alt 25. Sep 2004, 12:27
Hi, ich würd gerne eine Komprimierung für Strings schreiben.
Nun hab ich mal recherchiert und eine sogenannte Huffman-Codierung gefunden.

Nun da ich leider noch beschränktes Wissen in Sachen Mathe habe, wollte ich fragen, wie man das jetzt anwenden könnte.
Ich hoffe ihr könnt mir helfen.

mfG, titus
Daniel L.
'-'
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#2

Re: Huffmann-Code

  Alt 25. Sep 2004, 12:42
Bei der Konkurrenz findet man zwei Huffman-Tutorials: hier und hier.


Edit: Links korrigiert... ist noch früh am morgen...
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#3

Re: Huffmann-Code

  Alt 25. Sep 2004, 12:54
hi titus,
dafür brauchst du nicht wirklich mathe, vielleicht nur für das verständnis was dahinter steht:
Zitat:
...liegt die Idee nahe, häufig vorkommende Zeichen durch möglichst kurze Codewörter zu codieren...
die genaue konstruktion ist doch dargestellt:
Zitat:
Methode:
erzeuge für jedes Symbol x, das im zu codierenden Text t vorkommt, einen Knoten und markiere den Knoten mit der Häufigkeit, mit der x im Text vorkommt;
wiederhole solange es mehr als einen Knoten gibt, zu dem keine Kante hinführt
suche zwei Knoten u und v mit minimaler Markierung p(u) bzw. p(v), zu denen noch keine Kante hinführt;
erzeuge einen neuen Knoten w und verbinde w mit u und v. Markiere die eine Kante mit 0, die andere mit 1. Markiere den Knoten w mit p(u) + p(v);
erläutere genauer was du nicht verstehst!
  Mit Zitat antworten Zitat
Benutzerbild von titus
titus

Registriert seit: 5. Apr 2004
Ort: Freiburg
232 Beiträge
 
#4

Re: Huffmann-Code

  Alt 25. Sep 2004, 13:56
Zitat von ibp:
Zitat:
Methode:
erzeuge für jedes Symbol x, das im zu codierenden Text t vorkommt, einen Knoten und markiere den Knoten mit der Häufigkeit, mit der x im Text vorkommt;
wiederhole solange es mehr als einen Knoten gibt, zu dem keine Kante hinführt
suche zwei Knoten u und v mit minimaler Markierung p(u) bzw. p(v), zu denen noch keine Kante hinführt;
erzeuge einen neuen Knoten w und verbinde w mit u und v. Markiere die eine Kante mit 0, die andere mit 1. Markiere den Knoten w mit p(u) + p(v);
hi ibp, ich verstehe das mit den Knoten nicht, wie die dargestellt sein sollen.
achja ich würde das gerne in PHP schreiben, deshalb nützt mir der delphi-code nix (hab nichma delphi installiert ), trotzdem danke tommie-lie (werd mir den code natürlich auch anschaun, aber weiß net ob was rauskommt XD).

mfG
Daniel L.
'-'
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#5

Re: Huffmann-Code

  Alt 25. Sep 2004, 14:13
wie du das sichtbar machst ist deine sache aber

1. es gibt so viele knoten wie unterschiedliche zeichen du in deinem text hast incl. leerzeichen!
2. schreibe zu diesen knoten das vorkommen der zeichen (z.b. wie oft e im text vorkommt)
3. nimm zwei knoten mit dem kleinsten vorkommen
4. verbinde diese knoten zu einem neuen dritten, der bekommt die anzahl=summe der beiden verbundenen.
5. bezeichne die eine verbindung mit 0 und die andere mit 1
6. mach das so lange(weiter bei schritt 3), bis es nur noch einen knoten gibt!

soweit solltest du erstnal kommen mit php kann ich dir leider nicht helfen..
  Mit Zitat antworten Zitat
Benutzerbild von titus
titus

Registriert seit: 5. Apr 2004
Ort: Freiburg
232 Beiträge
 
#6

Re: Huffmann-Code

  Alt 25. Sep 2004, 14:16
Hm hört sich gut an, ich werde mal dran rumexperimentieren.
Und wenn sich ein Ergebnis zeigt werd ich mich melden und es hier posten .

mfG
Daniel L.
'-'
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz