🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

4 total messages Started by Maciek Fri, 23 Jun 2023 13:04
kompresja - implementacja algorytmu huffmana
#310467
Author: Maciek
Date: Fri, 23 Jun 2023 13:04
30 lines
2211 bytes
Cześć. Potrzebuję wskazówki jaki zaimplementować kod huffmana do kompresji plików w c++. Nie chodzi mi o gotowca raczej o wskazówki

na przykład na przykładzie ciągu znaków: aaabbbbccccdddefzyy

zalożenie każdy znak to 8 bitów

Dzięki wielkie za wszystkie porady.

Wiem jak może wyglądać drzewo na przykład:
{a,b,c,d,e,f,z,y} = 8
a = 000 | 3
b = 001 | 3
c = 010 | 4
d = 011 | 3
e = 100 | 1
f = 101  | 1
z = 110 | 1
y = 111 | 2

czyli drzewo można wyprowdzić tak:
                       29
                  /            \
            0 /                  \1
            5                       24
       0 /    \ 1              0/      \1
        1         4              9        15
    0/  \1   0/ \ 1    0 / \ 1    0/ \1
    a     b    c    d       e    f      z     y

praktycznie chciaiłem to wykorzystać i nie wiem co dalej :-).
Re: kompresja - implementacja algorytmu huffmana
#310468
Author: Przemek Biernat
Date: Mon, 26 Jun 2023 19:57
33 lines
2314 bytes
On Friday, June 23, 2023 at 3:04:39 PM UTC+2, Maciek wrote:
> Cześć. Potrzebuję wskazówki jaki zaimplementować kod huffmana do kompresji plików w c++. Nie chodzi mi o gotowca raczej o wskazówki 
> 
> na przykład na przykładzie ciągu znaków: aaabbbbccccdddefzyy 
> 
> zalożenie każdy znak to 8 bitów 
> 
> Dzięki wielkie za wszystkie porady. 
> 
> Wiem jak może wyglądać drzewo na przykład: 
> {a,b,c,d,e,f,z,y} = 8 
> a = 000 | 3 
> b = 001 | 3 
> c = 010 | 4 
> d = 011 | 3 
> e = 100 | 1 
> f = 101 | 1 
> z = 110 | 1 
> y = 111 | 2 
> 
> czyli drzewo można wyprowdzić tak: 
> 29 
> / \ 
> 0 / \1 
> 5 24 
> 0 / \ 1 0/ \1 
> 1 4 9 15 
> 0/ \1 0/ \ 1 0 / \ 1 0/ \1 
> a b c d e f z y 
> 
> praktycznie chciaiłem to wykorzystać i nie wiem co dalej :-).

Wiem ale nie powiem, na to jest patent na cały świat. Hehehe
Re: kompresja - implementacja algorytmu huffmana
#310470
Author: Wojciech Muła
Date: Tue, 11 Jul 2023 17:56
25 lines
2274 bytes
On Friday, June 23, 2023 at 3:04:39 PM UTC+2, Maciek wrote:
> Cześć. Potrzebuję wskazówki jaki zaimplementować kod huffmana do kompresji plików w c++. Nie chodzi mi o gotowca raczej o wskazówki 
> 
> na przykład na przykładzie ciągu znaków: aaabbbbccccdddefzyy 
> 
> zalożenie każdy znak to 8 bitów 
> 
> Dzięki wielkie za wszystkie porady. 
> 
> Wiem jak może wyglądać drzewo na przykład: 
> {a,b,c,d,e,f,z,y} = 8 
> a = 000 | 3 
> b = 001 | 3 
> c = 010 | 4 
> d = 011 | 3 
> e = 100 | 1 
> f = 101 | 1 
> z = 110 | 1 
> y = 111 | 2 

To nie jest drzewo Huffmana. Długość kodów Huffmana jest odwrotnie
proporcjonalna od prawdopodobieństwa symbolu. Masz na Wikipedii
dokłady opis: https://pl.wikipedia.org/wiki/Kodowanie_Huffmana

w.
Re: kompresja - implementacja algorytmu huffmana
#310469
Author: Maciek
Date: Mon, 27 Nov 2023 20:10
37 lines
2723 bytes
poniedziałek, 26 czerwca 2023 o 21:57:41 UTC+2 Przemek Biernat napisał(a):
> On Friday, June 23, 2023 at 3:04:39 PM UTC+2, Maciek wrote: 
> > Cześć. Potrzebuję wskazówki jaki zaimplementować kod huffmana do kompresji plików w c++. Nie chodzi mi o gotowca raczej o wskazówki 
> > 
> > na przykład na przykładzie ciągu znaków: aaabbbbccccdddefzyy 
> > 
> > zalożenie każdy znak to 8 bitów 
> > 
> > Dzięki wielkie za wszystkie porady. 
> > 
> > Wiem jak może wyglądać drzewo na przykład: 
> > {a,b,c,d,e,f,z,y} = 8 
> > a = 000 | 3 
> > b = 001 | 3 
> > c = 010 | 4 
> > d = 011 | 3 
> > e = 100 | 1 
> > f = 101 | 1 
> > z = 110 | 1 
> > y = 111 | 2 
> > 
> > czyli drzewo można wyprowdzić tak: 
> > 29 
> > / \ 
> > 0 / \1 
> > 5 24 
> > 0 / \ 1 0/ \1 
> > 1 4 9 15 
> > 0/ \1 0/ \ 1 0 / \ 1 0/ \1 
> > a b c d e f z y 
> > 
> > praktycznie chciaiłem to wykorzystać i nie wiem co dalej :-).
> Wiem ale nie powiem, na to jest patent na cały świat. Hehehe

Nie słyszałem żeby był na to jakiś patent. Ale w porządku, na YT jest trochę materiałów, więc w sumie nieaktualne.

Ewentualnie podziel się swoim patentem :).
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads