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 de Huffman


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2002
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 43
    Par défaut Algo de Huffman
    Bonjour à tous,

    je demandes votre aide car ca fait 2 jours que je travaille sur ce code et j'ya vance pas!

    Je suis après implémenter un algorithme de Huffman. Mon code entier est fait, seulement, lorsque je compresse j'obtient un fichier vraiement plus gros que mon précédent. Pour un fichier de 900 k j'obtient un fichier de 1 meg.

    Je croyais que mon problème était dans ma fonction d'écriture cependant le problème ne vient pas de la!

    Je vous poste mon algo de création de l'Arbre si jamais quelqu'un y voit un problème, ne vous gêné pas!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    private void createBinaryTree()
    	{
    		boolean done = false;
    		TreeNode currentNode = null;
    		TreeNode []currentNodeList = new TreeNode[currentTableSize];
    		System.arraycopy(treeNodeList, 0, currentNodeList, 0, currentTableSize);
     
    		while(!done)
    		{
     
    			// If not = 1 it means we can get 2 items
    			if(currentNodeList.length != 1)
    			{
    				TreeNode node1 = currentNodeList[currentTableSize - 1];
    				TreeNode node2 = currentNodeList[currentTableSize - 2];
     
    				currentNode = combine(node1, node2);
     
    				currentTableSize--;
    				currentNodeList = new TreeNode[currentTableSize];
    				System.arraycopy(treeNodeList, 0, currentNodeList, 0, currentTableSize);
    				currentNodeList[currentTableSize - 1] = currentNode;
    			}
    			else
    			{
    				done = true;
    			}
    		}
    		this.root = currentNode;
    	}
    Présentement je suis sur le fait que l'Arbre n'est pas balancé, ce qui me donne des code de 111111111111111111111111111111111110 ce qui est très long pour un caractère.

    Est ce que le non balancement de mon arbre y ait pour quelques choses?

    Merci

  2. #2
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Si tu veux plus d'info sur huffman, tu peux consulter l'article ici :

    http://tcharles.developpez.com/Huffman/

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 103
    Par défaut
    Je ne sais pas ce que ta fonction implémente mais il ne semble pas que cette fonction génère à partir du tableau des fréquence des symboles, un arbre de Huffman ... il manque au moins une recherche de minimum dans une liste ou un tableau.

Discussions similaires

  1. Compression Algo Huffman
    Par twity dans le forum C
    Réponses: 2
    Dernier message: 08/01/2013, 14h07
  2. Algo huffman semi adaptative et adaptative
    Par lili78 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 15/04/2010, 14h25
  3. cherche algos Delphi pour : Huffman, R.S.A, D.E.S.
    Par X-Delphi dans le forum Débuter
    Réponses: 3
    Dernier message: 24/08/2002, 18h51
  4. Cherche l'algo crc 16 bits
    Par icepower dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 21/08/2002, 13h27
  5. Algorithme de Huffman
    Par mmuller57 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 15/05/2002, 11h47

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