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 :

Tri le plus rapide possible


Sujet :

Algorithmes et structures de données

  1. #1
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut Tri le plus rapide possible
    Bonjour à tous,

    Tout d'abord merci de votre aide et de votre patience.
    J'ai trouvé sur le forum de nombreux algorithmes de tris, et jusqu'à maintenant j'utilisais un tri par positions. Seulement ma fonction de tri est associée à du graphique, et elle ralentie considérablement mon traitement lorsque j'ai trop de points.

    Après réflexion, j'ai réussi à décomposer mon problème, et maintenant je suis sûr de n'ajouter qu'un point à la fois (à la fin). Voici un exemple de série de chiffres:
    Ma question c'est comment obtenir: le plus rapidement possible?

    Merci, @+.
    For crying out loud !

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Si tu peux te contenter d'un O(n) pour la recherche de l'emplacement auquel insérer le nouvel élément, l'utilisation d'une liste chaînée est le plus rapide pour l'insertion puisqu'elles ne nécessitent pas de décaler d'éléments, et est relativement simple à mettre en oeuvre.
    Sinon, tu peux utiliser une structure d'arbre (arbre binaire de recherche par exemple). Il y a peut-être mieux ?

  3. #3
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    je suppose que tu dois ajouter un élément TRES souvent !!!
    Même si la complexité pour la recherche est linéraire, le fait de rajouter un élément à chaque fois rend la compléxité globale élevé.
    En revanche, un tri fait exactement cela de manière intélligente : le tri par tas !!!
    Il est en O(nLogn).
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  4. #4
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut
    Effectivement j'ajoute très souvent des éléments...
    Donc, après réflexion je me suis effectivement lancer dans un algorythme de tri par tas..J'ai trouvé pas mal de doc, mais si je galère je vous recontact.

    Merci bocoup,
    @+.
    For crying out loud !

  5. #5
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Si les valeurs que tu veux trier sont dans une plage "raisonnable" 1..k (et donc un n raisonnable), tu peux trier en un temps O(n), par un tri postal.

    Sinon, peut être qu'en utilisant et en maintenant une structure d'arbre binaire tu pourrais arriver à quelque chose d'interressant

    En effet, pour obtenir tes valeurs dans l'ordre tu effectues un parcours infixe (à gauche ou à droite suivant l'organisation de ton ABR), ce qui s'effectue dans un temps linéaire. Ensuite, lorsque tu veux insérer un élément, cela se fait en O(ln n) en moyenne.

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

Discussions similaires

  1. [VBA-E] Ecrire un fichier texte le plus rapidement possible
    Par spileo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/09/2007, 20h51
  2. Réponses: 3
    Dernier message: 02/05/2007, 23h02
  3. Lire un fichier le plus rapidement possible
    Par Rodrigue dans le forum SL & STL
    Réponses: 9
    Dernier message: 02/05/2006, 10h43
  4. Réponses: 10
    Dernier message: 12/01/2006, 21h22
  5. Permuter des valeurs, le plus rapidement possible?
    Par danje dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 27/09/2005, 21h51

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