🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

4 total messages Started by Maciek Fri, 23 Jun 2023 06:04
kompresja - implementacja algorytmu huffmana
#291798
Author: Maciek
Date: Fri, 23 Jun 2023 06:04
32 lines
973 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
#291799
Author: Przemek Biernat
Date: Mon, 26 Jun 2023 12:57
35 lines
1029 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
#291801
Author: =?UTF-8?Q?Wojcie
Date: Tue, 11 Jul 2023 10:56
28 lines
929 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
#291823
Author: Maciek
Date: Mon, 27 Nov 2023 12:10
42 lines
1406 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