Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Huffman Kodierung » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Huffman Kodierung
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
123michi19
unregistriert
Huffman Kodierung Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hi zusammen,

behandelt wird momentan die Huffman - Kodierung in der Vorlesung. Ich habe jetzt zahlreiche Youtube - Videos angeschaut, den Anfang verstehe ich noch (also das die Häufigkeit der Buchstaben gezählt werden muss).

Aber das was danach kommt, ist mir ein Rätsel. Könnt ihr mir hiermit bitte weiterhelfen?

Meine Ideen:
Vielen Dank :-)
29.10.2014 13:17
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Das Vorgehen ist z.B. in der Wikipedia beschrieben.

Beispiel: der Text ist aababcabcd
Also nach Anzahl der Vorkommen:
a: 4
b: 3
c: 2
d: 1

das ganze wollen wir binär speichern, daher ist m = 2 (es gibt nur 0 und 1)
wir suchen also die beiden(da m=2) Teilbäume mit der geringsten Anzahl, das sind c und d.
Die werden zu einem Baum zusammengefügt, sodass sich folgendes Bild ergibt: (Häufigkeit in Klammern)
code:
1:
2:
3:
4:
5:
6:
7:
a(4)

b(3)

   / c(2)
cd(3)
   \ d(1)

jetzt wieder die beiden Äste mit der geringsten Häufigkeit zusammenfassen
code:
1:
2:
3:
4:
5:
6:
7:
a(4)

    / b(3)
bcd(6)
          / c(2)
    \ cd(3)
          \ d(1)

wenn jetzt wieder die beiden Bäume mit der geringsten Häufigkeit zusammengefasst werden, gibt es nur noch einen Baum.

Jetzt musst du nur noch bestimmen, dass der eine Ast der 0 und der andere der 1 entspricht. Die Zuordnung ist dabei willkürlich.

__________________
Syntax Highlighting fürs Board (Link)
29.10.2014 14:18 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
123michi19
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Vielen Dank für deine schnelle Antwort. Da ich solche Aufgaben dann auch immer gerne selber versuche, habe ich mir mal das Wort: abrakadabra ausgesucht. Das Bild dazu ist im Anhang. Wäre super, wenn du einen Blick darauf werfen könntest großes Grinsen

123michi19 hat dieses Bild (verkleinerte Version) angehängt:
Foto 29.10.14 20 13 04 (1).jpg

29.10.2014 20:16
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

sieht gut aus Daumen hoch
und als Binärmuster (wenn der obere Ast die 1 ist):
1 001 01 1 0000 1 0001 1 001 01 1

__________________
Syntax Highlighting fürs Board (Link)
29.10.2014 21:02 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
123michi19
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Dankeschön smile , Zum Binärmuster hätte ich allerdings noch die Frage wie man da drauf kommt?
29.10.2014 22:31
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ganz einfach: bei jeder Verzweigung kannst du festlegen, welcher der beiden Äste eine 0 und welcher eine 1 bekommt (frei wählbar). Um auf die Kodierung für den einzelnen Buchstaben zu kommen, musst du nur noch die Pfad von der Wurzel zum Buchstaben entlanggehen und die die 0en und 1en notieren, die du unterwegs einsammelst. Die Wurzel für dein Beispiel mit abrakadabra ist ganz links, das a hängt schon am 1. Ast.

eulerscheZahl hat dieses Bild (verkleinerte Version) angehängt:
graph.png



__________________
Syntax Highlighting fürs Board (Link)
30.10.2014 06:59 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
123michi19
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Vielen Dank für deine Hilfe :-)
31.10.2014 15:28
123michi19
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Sorry das ich das Thema noch einmal aufgreifen muss, aber ich dachte es verstanden zu haben. Ich bekomme das Auslesen des Binärmusters einfach nicht hin und bräuchte dazu bitte noch einmal Hilfe verwirrt
04.11.2014 08:29
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ist die Grafik klar, die ich in meinem letzten Beitrag angefügt habe?
Nehmen wir z.B. den Buchstaben k: von der Wurzel aus muss man die Äste 0, 0 und 1 nehmen, um dorthin zu gelangen. k wird also durch 001 dargestellt.

__________________
Syntax Highlighting fürs Board (Link)
04.11.2014 08:39 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
123michi19
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wenn ich es richtig verstehe, müsste r und d dann auch 001 sein?
05.11.2014 13:44
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

r is 01 und d ist 0001
Wie du siehst, braucht d 4 Bit zur Speicherung, also mehr als r. Das ist auch sinnvoll, da d nur einmal vorkommt.

Ich sehe gerade, ich habe im Graphen Mist gebaut: ich habe versehentlich b und k vertauscht, auf deinem Blatt (Foto) ist es noch richtig.

__________________
Syntax Highlighting fürs Board (Link)
05.11.2014 15:35 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
123michi19
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Besten Dank für die Rückantwort :-) Daumen hoch
11.11.2014 21:10
123michi19
Mitglied


Dabei seit: 22.12.2014
Beiträge: 45

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Es ist schon wieder ein paar Wochen her wo das Thema behandelt wurde. Daher habe ich mich noch einmal an dem Wort taucher versucht.

Könntest du das bitte für mich noch einmal überprüfen, ob das so stimmt?

Vielen Dank :-)

PS: (@ eulerscheZahl) Wie kann ich mich bei dir denn einmal bedanken? Du hast mir schon so oft weitergeholfen und das ist nun wirklich nicht selbstverständlich :-)

123michi19 hat dieses Bild (verkleinerte Version) angehängt:
Foto 28.12.14 18 51 28 (1).jpg

28.12.2014 19:02 123michi19 ist offline Beiträge von 123michi19 suchen Nehmen Sie 123michi19 in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Dein Baum ist richtig (als einer von 20160 möglichen, wenn ich mich nicht verrechnet habe).
Ich habe eine Seite gefunden, die dir Bäume generieren kann: huffman.ooz.ie

Es reicht vollkommen, wenn du hier immer artig danke sagst, ist mehr als manch andere tun smile
An der Stelle ein Zitat über die Ziele der Seite:
Zitat:
Fragen können kostenlos und ohne jegliche Registrierung im Forum gestellt werden.


__________________
Syntax Highlighting fürs Board (Link)
28.12.2014 20:08 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
123michi19
Mitglied


Dabei seit: 22.12.2014
Beiträge: 45

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Dann nochmal ein herzliches Dankeschön für die Hilfe smile
28.12.2014 21:56 123michi19 ist offline Beiträge von 123michi19 suchen Nehmen Sie 123michi19 in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Huffman Kodierung