Thread View: pl.comp.lang.c
4 messages
4 total messages
Started by Maciek
Fri, 23 Jun 2023 13:04
kompresja - implementacja algorytmu huffmana
Author: Maciek
Date: Fri, 23 Jun 2023 13:04
Date: Fri, 23 Jun 2023 13:04
30 lines
2211 bytes
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
Author: Przemek Biernat
Date: Mon, 26 Jun 2023 19:57
Date: Mon, 26 Jun 2023 19:57
33 lines
2314 bytes
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
Author: Wojciech Muła
Date: Tue, 11 Jul 2023 17:56
Date: Tue, 11 Jul 2023 17:56
25 lines
2274 bytes
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
Author: Maciek
Date: Mon, 27 Nov 2023 20:10
Date: Mon, 27 Nov 2023 20:10
37 lines
2723 bytes
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