🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #310467

kompresja - implementacja algorytmu huffmana

#310467
From: 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 :-).
Technical Details
Message-ID: <3a42a812-c863-43d6-bd47-1b5535ff8be5n@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!feeder1.feed.usenet.farm!feed.usenet.farm!peer01.ams4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Received: by 2002:ad4:4b29:0:b0:62f:e9ee:b666 with SMTP id s9-20020ad44b29000000b0062fe9eeb666mr2396367qvw.6.1687525478787;        Fri, 23 Jun 2023 06:04:38 -0700 (PDT)
X-Received: by 2002:aca:340a:0:b0:39c:6e11:155a with SMTP id b10-20020aca340a000000b0039c6e11155amr4776569oia.2.1687525478394; Fri, 23 Jun 2023 06:04:38 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!feeder1.feed.usenet.farm!feed.usenet.farm!peer01.ams4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.c
Date: Fri, 23 Jun 2023 06:04:38 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=2a02:a31b:338:d080:6c2a:7f7a:a378:cd07; posting-account=SOZBVwoAAAAtP6gAgjkK3BR3YPR_ux-s
NNTP-Posting-Host: 2a02:a31b:338:d080:6c2a:7f7a:a378:cd07
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3a42a812-c863-43d6-bd47-1b5535ff8be5n@googlegroups.com>
Subject: kompresja - implementacja algorytmu huffmana
From: Maciek <moblaza@gmail.com>
Injection-Date: Fri, 23 Jun 2023 13:04:38 +0000
X-Received-Bytes: 2171
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit