begin process at 2012 02 05 04:01:42
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > CODEUR DE HUFFMAN

CODEUR DE HUFFMAN


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths & Algorithmes Classé sous :huffman, simple, codeur, arbre, compression Niveau :Initié Date de création :23/02/2009 Date de mise à jour :23/02/2009 10:26:24 Vu / téléchargé :4 396 / 446

Auteur : webis

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Cette source permet de comprendre le fonctionnement d'un codeur de Huffman (plus de détail : http://fr.wikipedia.org/wiki/Codage_de_Huffman).

Dans cette version, elle permet de lire un fichier, de générer l'arbre de Huffman, et de donner les coefficients de toutes les lettres, un apercu  de ce que donnerait le fichier, et des infos sur l'efficacité de la compression.

La documentation est prévue pour être générée avec Doxygen (voir Makefile)

Vous pouvez lire l'article sur mon site : http://www.webis.fr

Utilisation :
  huffman <fichier à analyser>

Attention, pour des raisons de simplicité, ce programme ne gère que l'ASCII, et supporte aux max 100 caractères différents dans le texte analysé (mais cette limite  peut être étendue, actuellement, #define MAX_CAR 100)

Enfin, si certains sont intéressés par une version "à chaud", on peut la voir ici : http://github.com/rbochet/huffman/tree/master


 Conclusion

C'est ma première source :)
Si vous avez des questions allez y(principe ou implémentation)

Il reste encore des choses à faire :
* Génération de la sortie directement en binaire
* Stockage de l'arbre en binaire
* Gestion d'un format d'archives + décompresseur

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

23 février 2009 10:26:25 :
Suppression des informations de GIT du zip

 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture COMPRESSION FICHIERS ALGORITHME HUFFMAN C par xtremejames183
Source avec Zip TREEREG (GESTION DU REGISTRE COMME UN ARBRE) par kts_system
Source avec Zip LZZ HUFFMAN COMPRESSION par f_l_a_s_h_b_a_c_k
Source avec Zip [C / WIN32] COMPRESSION HUFFMAN par Neo_Fr
Source avec Zip Source avec une capture COMPRESSION HUFFMAN ( INTERFACE EN API WINDOWS ) par deimoslp

Commentaires et avis

Commentaire de exar le 24/02/2009 09:38:15

Hello !

Très beau code, bien rédigé, bien mis en page, noms de variables bien choisis, ...  Beau travail !  Peut-être faudrait-il l'ajouter dans les tutoriaux en l'utilisant comme exemple au sujet des pointeurs.  Mais s'agit-il vraiment d'un code "expert" ?
Bonne continuation !

Commentaire de webis le 24/02/2009 10:17:56

Salut,

Il s'agit d'un code "initié". Je l'ai donné comme tel à cause de l'algorithme et du fait que la création et la gestion de l'arbre est quand même assez complexe (enfin, pas du niveau "débutant" selon moi).
De plus, les extensions que je compte lui apporter bientot (enfin quand j'aurais le temps), risquent d'augmenter encore la complexité.

En tout cas, merci pour les compliments :)

Romain.

Commentaire de exar le 24/02/2009 10:22:13

Un arbre est du niveau débutant, non ?  Ceci dit, reste à voir ce que tu vas y apporter !
Mais continue ainsi, tu es sur la bonne voie !  "Trust the Force, Luke !"

Commentaire de LeFauve42 le 02/03/2009 15:09:25 8/10

Salut,

Ca a l'air tres interessant, mais pourquoi avoir limite a 100 caracteres differents par defaut ?

En effet, comme ton programme ne gere que l'ASCII, ca fait 127 caracteres differents (128 si tu geres le caractere 0), et a moins que ta complexite ne soit en n!, passer de 100 a 128 ne devrait pas avoir trop d'impact, non ?

Sinon je n'ai pas regarde tout le code, mais est-ce qu'au lieu de parcourir ton arbre en partant de la racine quand tu cherches un caractere, ne pourrais tu pas garder une table de correspondances (car => feuille). Quand tu rebalances ton arbre, tu changes les connexions de l'arbre, mais les feuilles ne devraient pas bouger en memoire il me semble. Ca pourrait te faire gagner un peu de performances.

Exar: Oui, les arbres sont niveau "debutant", mais une bonne gestion d'arbres efficace et optimisee, ca peut vite monter en "expert". Sans aller jusque la, comprendre l'algo d'Huffman demande quelques competances qui ne sont pas a la portee de n'importe quel debutant.

Sinon ca fait plaisir de voir des algos interessants implementes :o). Continue comme ca !

Eric

Commentaire de webis le 02/03/2009 16:30:04

Salut,

Je le modifie dès que j'ai 5 minutes. Effectivement, c'est un peu dommage de laisser 100, car le seul changement à faire est une modif dans le fichier type_arbre.h.

Romain

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

compression et c++ [ par fakbill ] A l'adresse http://www.cjkware.com/wamckee/huffman.zip j'ai touvé une implémentation en c++ de l'algo de huffman.Pb: Je ne cromprends rien à la façon Parcours arbre Huffman [ par lordvan ] Bonjour,je voulais savoir si vous saviez la fa&#231;on de proc&#233;der pour incr&#233;menter de 1 le nb de cases d'un tableau (initialement int tab[0 Codage de l'arbre de Huffman [ par janette ] Je programme actuellement la compression de fichiers par la m&#233;thode de Huffman et j'ai terriblement besoin d'aide pour le codage le l'arbre!! J'a Structure de données Arbre de Huffman [ par nicloss ] Bonjour, j'ai un projet en programmation c qui consiste &#224; coder un programme qui compresse selon l'algorithme de Huffman. J'ai bien compris le pr Compression JPEG [ par inkognitodz ] S.V.P. J'ai besoin du code (C++Builder) qui permet de compresser d Arbre de Huffman : code d'un caractère [ par noname001 ] Bonjour à tous, Je suis entrain de travailler sur l'arbre de Huffman pour compresser une chaine de caractère. Pour le moment, j'ai réussi à construi algorithme de huffman( compression) [ par flamme19 ] sa[size=200]lut, je cherche un programme en c++ qui fait la compression, puis la décompression d'un texte donné en utilisant l'algorithme de huffman.. compression et décompression un fichier texte selon l'algorithme de HUFFMAN [ par sarasofia ] [b]salut tout le monde s'il vous plaît[^^sad1] j ai besoin d'un programme de compression texte selon l algorithme de Huffman en C,C++, Matlab s'il vou compression de huffman [ par chiheb1106 ] Est-ce qu'il y a un algorithme en C qui permet de réaliser la compression et la décompression d'un fichier texte selon la méthode de Huffman sans util Compression avec huffman sous SCILAB si possible Decompression aussi [ par Doser ] Besoin d'aide j suis un peu coincé


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales