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 :

Un Diff simpliste


Sujet :

Algorithmes et structures de données

  1. #1
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut Un Diff simpliste
    Salut,

    Pour faire court, j'ai conçu un espece de format de texte enrichi, tres specifique, suite à quoi j'ai donc ecrit un analyseur en C.
    J'ai besoin d'avoir la même analyse dans un espece d'éditeur sur une page web. Je pensais donc au début faire l'équivalent en javascript, mais au final ça va pas etre si simple, et en plus l'analyse risque d'avoir des petites différences.
    Je suis donc parti sur une solution un peu façon Ajax : faire analyser le texte saisi dans l'éditeur JS par le vrai analyseur C, par le biais d'un cgi.

    Il faudrait reanalyser le texte à chaque modification de celui ci, mais le texte pouvant facilement faire plusieurs 10aines de Ko, j'aimerais ne renvoyer que la difference.

    Dans la plupart des cas, seuls quelques caractères vont changer puisque l'utilisateur va taper son texte. Mais il peut aussi supprimer, couper, coller de gros blocs de texte.


    Chuis donc en train de chercher un algo simple, une heuristique, pas besoin d'etre optimal. Vos idées sont les bienvenues.
    Merci

  2. #2
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Visiblement l'algo s'appelle Longest Common Subsequence (la recherche de la chaine commune la plus grande), ya plein de sites qui traitent de ça, mais c'est dans le cas où on veut un algo optimal

    Ils donnent une piste de reflexion ici http://www.codeproject.com/cs/algori..._algorithm.asp

    En javascript on peut pas parcourir les chaines facilement, pour chaque caractère il ya un appel à charAt() qui crée un object String, ça doit etre super lourd d'appliquer un tel algo à un gros texte

    Ici, j'ai trouvé un site tres bien avec plusieurs algo differents implementés en js et python
    http://neil.fraser.name/writing/diff/

    Je vais surement me baser sur la recherche du plus grand prefixe et suffixe

    Je pense que c'est résolu, mais si vous avez des avis...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. diff://www.w3.org/TR/WD-xsl et //www.w3.org/1999/Transform
    Par Raphael94 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 08/07/2004, 14h32
  2. SELECT : extraire 2 val d'1 colonne avec contraintes diff
    Par NiBicUs dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/03/2004, 14h56
  3. [debutant] diff interbase / firebird
    Par bmayer dans le forum Débuter
    Réponses: 5
    Dernier message: 11/03/2004, 12h28
  4. Initiation simpliste QuickReport?
    Par luckyluk dans le forum Débuter
    Réponses: 5
    Dernier message: 17/07/2003, 11h14
  5. Réponses: 6
    Dernier message: 24/03/2003, 17h11

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