Skip to content

Rapport 2

BarbDev edited this page Jan 17, 2017 · 2 revisions

Exemple de déroulement

Changements

Tableau d'ordre de Gallager

Changement de sa taille (256 à 515).

Nous n'avions pas pris en compte les parents de chaque caractères, soit 256 ce qui nous ramène à 512. Les 3 autres ajoutés étant la racine, le caractère de fin de fichier et le caractère inconnu. On a donc bien un tableau de 515 pointeurs sur des noeuds/feuilles.

Structure de l'arbre (liste doublement chaînée)

Prise en compte de l'extension de la table ASCII: t_noeud, char val passe à short val. On peut ainsi coder définir le caractère inconnu et notre propre fin de fichier.

Liste des fonctions à implémenter

  • permuter: permute 2 noeuds/feuilles en mettant à jour leurs parents
  • ajout_feuille: ajoute une feuille est et met à jour son parent
  • ordre_gallager: fonction récursive (déterminer les paramètre), maintient l'ordre de Gallager

Lecture du fichier encodé

  1. Les caractères sont traduits en bits.
  2. Les bits permettent de se diriger dans l'arbre jusqu'à trouver une feuille
  3. On tombe sur une feuille, on lit les 8 prochains bit qui sont le code du caractère à placer (on écrit aussi ce caractère quelque part)
  4. On met à jour l'arbre pour maintenir l'ordre de Gallager
  5. On repart à l'étape 1.
Clone this wiki locally