Yûki - Update README

This commit is contained in:
name 2019-12-14 20:20:16 +01:00
parent df782968be
commit 6c967c6fac
No known key found for this signature in database
GPG key ID: 03E8F3CF3183323A
2 changed files with 26 additions and 18 deletions

View file

@ -41,22 +41,17 @@
1. **GESTION DES FICHIERS**
- ~~Structure Gérer les échanges avec le disque, mémorisant notamment létat des échanges en cours~~
- ~~Fonction Ouvrir un fichier binaire en lecture ou écriture~~
- Fonction Ecrire un bit dans un fichier binaire
- ***Faite mais à tester***
- Fonction Lire un fichier binaire
- ***En cours***
- Fonction Fermer un fichier
- ~~Fonction Ecrire un bit dans un fichier binaire~~
- ~~Fonction Lire un fichier binaire~~
- ~~Fonction Fermer un fichier~~
2. **ARBRE DE CODAGE**
- ~~Fonction Fréquence d'apparition des caractères dans un fichier~~
- *Tri à faire pour les occurences des caractères(Quicksort)*~
- ***En cours***
- Implémentation de l'algorithme de construction de l'arbre de codage (Module Arbres_Binaires)
- ***En cours***
- *Tri par insertion*
- ***En cours***
- ~~Implémentation de l'algorithme de construction de l'arbre de codage (Module Arbres_Binaires)~~
3. **COMPRESSION**
- Fonction de compression d'un fichier texte dans un fichier binaire
- Récupération du codes des caractères
- En cours
4. **DECOMPRESSION (EXTRACTION)**
- Fonction d'extraction d'un fichier texte depuis un fichier compressé

View file

@ -2,7 +2,7 @@
#include "arbre_de_codage/arbre_binaire.c"
#define ASCII_EXT 256
void huffman(arbre T[], int n);
arbre huffman(arbre T[]);
void frequence(arbre T[], FILE *file);
void tri_tab(arbre T[],int n);
void afficher_tab(arbre T[], int n);
@ -37,7 +37,7 @@ int main(int argc, char **argv){
arbre huff;
printf("Huffman : \n");
//huff = huffman(T);
huff = huffman(N);
printf("Arbre :\n");
return 0;
}
@ -95,15 +95,28 @@ void afficher_tab(arbre T[], int n){
}
}
void huffman(arbre T[],int n){
arbre huffman(arbre T[]){
// Création de l'arbre de codage de Huffman en considérant une liste avec les fréquences d'apparition des caractères ordonnée croissante
// récupérer les deux plus petits poids (cf : deux premieres occurences)
arbre H = malloc(sizeof(arbre));
H=creer_arbre_vide();
int i;
i=0;
while(T[i]->poids==-1){
i++;
}
// récupérer les deux plus petits poids (cf : deux premieres occurences)
if(compteur_tab(T,ASCII_EXT)!=1){
arbre tmp=creer_feuille(-,T);
int Index;
Index=i;
while(Index<(ASCII_EXT-1)){
arbre tmp=malloc(sizeof(noeud*));
tmp->fils_gauche=T[Index];
tmp->fils_droit=T[Index+1];
tmp->poids=T[Index]->poids +T[Index+1]->poids;
T[Index+1]=tmp;
printf("%d\n",tmp->poids);
Index++;
tri_tab(T,ASCII_EXT);
}
return T[Index];
}