Probleme Dichotomique..

Signaler
Messages postés
3
Date d'inscription
lundi 4 août 2008
Statut
Membre
Dernière intervention
16 mai 2009
-
Messages postés
3
Date d'inscription
lundi 4 août 2008
Statut
Membre
Dernière intervention
16 mai 2009
-
Bonjour voila j'ai un petit problème lors d'un tri avec recherche dichotomique...
Or quand mes fichiers sont triées correctement (avec itération) la recherche fonctionne a merveille.

Je poste mon code, ais je commis une erreur?
Le String triee en parametre est un String anagramme.
Et la méthode getTrie() que j'invoque est la méthode qui retourne un anagramme.
Donc je traite un Array de String.

public boolean checkExist(String triee){
                String recherchee = triee.toUpperCase();
        String temp ="";
        int debut = 0;
        int fin = perso.size();
        int mil = 0;
       
        do{        mil  = (debut+fin)/2;
            temp =perso.get(mil).getTrie();   
        if(temp.compareToIgnoreCase(recherchee)>0 )
            fin = mil;
        else
            debut = mil;
   
        mil  = (debut+fin)/2;
        }
        while(mil !=debut);
       
        temp = perso.get(debut).getTrie();   
        System.out.println(temp);
        posCheck = debut;
        if(temp.equalsIgnoreCase(recherchee))
            return true;
        else
            return false;
    }

3 réponses

Messages postés
3
Date d'inscription
lundi 4 août 2008
Statut
Membre
Dernière intervention
16 mai 2009

Edit..posCheck est donc la position que j'ai besoin de sauvegarder a chaque appel de méthode, afin d'effectuer un tri correct.

Bonjour

Pourquoi n'utilises-tu pas la recherche dichotomique de Java, la méthode binarySearch? Au pire, si tu galères, je pourrai te montrer comment j'avais réécrit ça à l'IUT sans cette méthode. Bon courage.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
Messages postés
3
Date d'inscription
lundi 4 août 2008
Statut
Membre
Dernière intervention
16 mai 2009

Merci je n'y avais pas vrmt pensé, mais le problème c'est que en réalité je travaille avec des objets Anagrammes qui contiennent des ArrayList dans lesquels je travail, donc j'dois tout recopié dans des tableaus de String ce qui prend bcp de temps vu que je traite un dictionnaire, enfin j'obtiens les meme résultats qu'avec ma methode cré a la main, donc mon bug doit venir d'autre part, merci quand meme.

A la prochaine