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 :

liste biderctionelle ou tri par dichotomie


Sujet :

Algorithmes et structures de données

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 6
    Points : 5
    Points
    5
    Par défaut liste biderctionelle ou tri par dichotomie
    salut
    je suis entrain de developper une application qui fonctionne comme suit
    depuis un fichier text je construit des listes chainé chaque liste contient les mot qui debut par la meme lettre et la tete de chaque liste est un elemnt de tableau de pointeur (de longueur 26) j'usqu'a ici il ya pas probleme mais pour faire la recherche d'un mot est-ce-qu'il existe si je parcours la liste sa prend bouceaup de temp alors est-ce que une liste biderectionnelle aide a faire une recherche accelerer ou je dois utiliser la rechreche par dichotomie

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut,

    Typiquement, si tu es sur de pouvoir fournir (d'une manière ou d'une autre) une valeur unique pour chaque mot, la recherche dichotomique sera beaucoup plus rapide...

    Mais cela implique l'utilisation d'arbres binaires, et non, simplement de liste chainées

    Il est, en outre évidemment nécessaire, que ton arbre binaire soit aussi équilibré et bien rempli que possible pour que la recherche dichotomique soit efficace.

    Enfin, pour rendre le délais d'initialisation de ton arbre aussi court que possible, ton fichier devrait etre lui aussi correctement trié, car le tri d'un arbre binaire est vraiment suceptible de prendre un temps incroyable (et d'autant plus importants qu'il y a de noeuds/feuilles à l'arbre)
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Tu peux également utiliser un Trie ou "arbre à lettres" qui est une très bonne structure pour le genre de "dictionnaire" que tu sembles avoir en tête.

    --
    Jedaï

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Hum... au vu du post de abdoue2004 je pense que son probleme n'est pas la structure de données (liste/arbre), mais la performance de la methode de recherche.

    Auquel cas, je lui conseille de conserver sa structure de liste chainée. Mais au lieu d'avoir 26 listes avec une seule lettre (A,...,Z) comme index, il vaut mieux avoir plus de listes et des index plus spécifiques. C'est le principe des Tables de hashage
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

Discussions similaires

  1. List de combobox trié par enabled puis alphabétique
    Par stephane.julien dans le forum C#
    Réponses: 2
    Dernier message: 08/10/2007, 10h43
  2. tri par rapport à une liste dans la clause where
    Par umbakrail dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 19/07/2006, 11h32
  3. Tri par rapport à une liste de clés primaires
    Par yoyot dans le forum Langage SQL
    Réponses: 10
    Dernier message: 23/06/2006, 12h48
  4. Algo de tri par liste chainée
    Par Treuze dans le forum C
    Réponses: 3
    Dernier message: 30/12/2005, 14h05
  5. [LG]Tri par insertion dans une liste chainée
    Par mister_dsg dans le forum Langage
    Réponses: 4
    Dernier message: 18/12/2003, 22h34

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