• [^] # Re: En memoire

    Posté par . En réponse au journal Analyse de texte. Évalué à 4.

    A priori, ta structure de donnee comptant les syllabes/mots ne devraient pas augmenter lineairement avec la taille de tes textes (si ma memoire est bonne, la taille doit augmenter en logarithme, distribution de Zipf, toussa). Un bete dict devrait faire l'affaire, mais python a des structures plus subtiles pour compter je crois.

    Dict se base sur une table de hashage.

    Il y a aussi le Trie (pas tree!) qui travaille avec la même interface mais utilise une autre structure de données qui est peut-être plus efficace en terme d'espace utilisé.

    C'est un arbre basé sur les lettres du mot. Par exemple si j'insère valide, valeur et vanne ça donne ça

    v v v
    a a a
    l -> l -> l n
    i e i e i n
    d u d u d e
    e r e r e
    

    On comprends que si les mots de sont pas trop long c'est assez rapide de les retrouver. Et la structure semble assez économe en espace mémoire.

    Voilà le lien vers une implémentation python: https://pypi.python.org/pypi/patricia-trie/8