Topic de ComplotCOVID :

[JAVA] Comprenez vous cet Énoncé ?

  • 1

Encodage : Cela se fait sous la forme d'un tableau d'entiers indiquant la présence, ou non, de chaque mot dans l'ordre d'apparition des mots du dictionnaire (1 pour présent, 0 pour absent). Si un mot est présent plusieurs fois dans la phrase alors il ne compte qu'une fois (uniquement des 1 et des 0 dans le tableau).

Ex:
String[] dictionnaire = {"il","deteste","les","tartes","aux","pommes","oeufs","aime"}

"il deteste les tartes aux pommes" -> String[] phraseEncodee = {1,1,1,1,1,1,0,0}

Calcul du taux de compression

Un taux de compression permet de calculer à quel point la séquence d'entiers a été compressée. Soit la formule :
taux_de_compression = taille_message_compressé / taille_message_non_compressé
Par exemple, sur le tableau {1,1,1,1,1,1,0,0} le taux de compression vaut 4/8 = 0.5

Principe de compression : En utilisant cette méthode de compression, le tableau {1,1,1,1,1,1,0,0} sera compressé en {6,1,2,0}. Dans la suite de l'exercice on supposera qu'on ne pourra jamais avoir plus de 9 chiffres identiques à la suite.

Je comprends pas comment on calcule le taux de compression avec cet énoncé ? :(

De plus, pour appliquer ce principe, je dois rédiger une méthode qui le calcule avec le code suivant :


class Compresseur {

    /**
     * Message non compressé.
     */
    int[] messageNonCompresse;

    /**
     * Message compressé.
     */
    int[] messageCompresse;

    /**
     * Taille du message compressé.
     */
    int tailleMessageCompresse;

    /**
     * Taille maximale d'un texte compressé (100 = pire des cas).
     */
    final int MAX_TAILLE_MESSAGE_COMPRESSE = 50 * 2;

    /**
     * Constructeur
     *
     * @param unMessageNonCompresse message non compressé
     */
    Compresseur(int[] unMessageNonCompresse) {
        messageCompresse = new int[MAX_TAILLE_MESSAGE_COMPRESSE];
        tailleMessageCompresse = 0;
        messageNonCompresse = unMessageNonCompresse;
    }

    /**
     * Calcul du taux de compression.
     *
     * @return le taux de compression
     */
    float tauxDeCompression() {
        return 1.0f;
    }

Mais du coup ne comprenant pas d'où proviennent le 4 et le 8 de l'exemple du taux de compression je ne sais pas comment résoudre le problème :(

T'as toujours besoin d'aide l'Op?
  • 1

Données du topic

Auteur
ComplotCOVID
Date de création
16 janvier 2021 à 22:29:07
Nb. messages archivés
3
Nb. messages JVC
3
En ligne sur JvArchive 356