IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Algo huffman semi adaptative et adaptative


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 15
    Points : 3
    Points
    3
    Par défaut Algo huffman semi adaptative et adaptative
    Bonjour
    débutants, nous sommes un groupe de 4 étudiants.

    Notre prof nous impose un sujet de projet en algo pseudo langage:
    "le projet informatique que je vous propose est l'implémentation et le test sur des fichiers texte de
    l'algorithme de compression d'Huffman dans ses deux versions :
    - semi adaptative
    - adaptative .
    La validation se fera sur des textes en vérifiant qu'après décompression, on retrouve bien le texte original."

    Se sont les seules données quand au cours sur les arbres il est quasi inexistant.

    Problème : ces explications ou rien c'est pareil

    Nous avons trouvé des info sur le net au sujet de l'algo d'huffman, mais de là à écrire l'algo y a un monde.

    Pourriez vous nous aider, au moins à démarrer, savoir ce qu'il faut faire, qu'on essaye de comprendre , expliquer un peu "en français dans le texte "

    L'implémentation se fera en C par d'autres personnes, nous ne devons fournir que l'algo en pseudo code.

    Merci de votre aide

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Déjà, un bon début : Algorithme de compression de Huffman

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    Merci j'ai regardé , ca explique un peu mieux mais je suis toujours incapable de dire comment commencer .

    Nous ne voyons plus ce profs et donc pour les explications c'est juste par mail (déjà pas terrible en direct alors par mail ...)

    Déjà que veut dire adaptative et semi adaptative ?

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par lili78 Voir le message
    Déjà que veut dire adaptative et semi adaptative ?
    Comme le dit si bien wikipedia:

    semi-adaptatif : le fichier est d'abord lu entièrement, de manière à calculer les occurrences de chaque octet, puis l'arbre est construit à partir des poids de chaque octet. Cet arbre restera le même jusqu'à la fin de la compression.

    adaptatif : L'arbre est construit de manière dynamique au fur et à mesure que les octets sont lus. Il n'est donc pas nécessaire de connaitre les octets à venir.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    765
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 765
    Points : 1 037
    Points
    1 037
    Par défaut
    Ca peut déjà commencer par découper votre algo en tâche de base :


    semi-adaptative :

    Compression :

    - Pour commencer il faut lire le fichier et calculer le nombre d'occurence de chaque lettre.
    - Construire l'arbre binaire de chaque lettre. Les plus présentes seront représentés sur 3 ou 4 bits. Les moins présentes
    sur plus.
    - Ecrire en début de fichier l'arbre de compression.
    - Lire à nouveau le fichier et commencer à écrire le flux de donnée en sortie au fur et à mesure.
    Il vous faudra probablement gérer un buffer d'écriture , car au plus bas en C on écrit des octets et pas 3 bits.


    idem pour l'adaptative, il suffit de construire l'arbre au fur et a mesure de la lecture et de commencer à écrire
    le fichier en sortie quand l'arbre est complet ou que la fin de fichier est atteinte.


    Décompression (identique avec les deux méthodes) :

    - Lire l'arbre de compression dans l'entete du fichier.
    - Décoder les bits lus avec votre arbre.
    - Ecrire les octets complet en sortie. Vous aurez aussi une gestion de buffer à faire de la même manière que dans la compression.

Discussions similaires

  1. Adapter un algo glouton
    Par muse54 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 24/05/2014, 14h22
  2. fminunc warning algo pas adapté
    Par shaiHulud dans le forum MATLAB
    Réponses: 0
    Dernier message: 21/05/2014, 18h54
  3. Compression Algo Huffman
    Par twity dans le forum C
    Réponses: 2
    Dernier message: 08/01/2013, 15h07
  4. Réponses: 2
    Dernier message: 21/02/2011, 18h00
  5. Algo d'adaptation d'animation
    Par goulmak dans le forum Algorithmes et structures de données
    Réponses: 0
    Dernier message: 26/06/2008, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo