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 :

Connaitre la position d'un élément d'une séquence vérifiant un ordre


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Par défaut Connaitre la position d'un élément d'une séquence vérifiant un ordre
    Bonjour,

    J'ai un séquence de 5 nombres n0 .. n5 tous dans un intervalle [0,r] qui vérifient la propriété
    n0 <= n1 <= n2 <= ... <= n5.
    Mon but est de trouver une façon de les lister tel que, si on me donne un élément de la liste, je peux connaitre facilement sa position dans la liste.

    Malheureusement, je ne vois pas du tout comment faire ça.

  2. #2
    Membre très actif
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Billets dans le blog
    1
    Par défaut
    s'il n'y à que 5 éléments dans la liste, le problème ne se pose même pas, suffit de parcourir la liste, et comparer chaque élément avec le nombre en entrée, et dès qu'on en trouve un égal, on a la position.

    ça peut même fonctionner pour des listes de taille énorme, avec la vitesse des processeurs, ça ne pose aucun problème de parcourir des listes de plusieurs millions d'entrées. au delà, ça peut être plus lent.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 3
    Par défaut
    La recherche par dichotomie peut être plus rapide et elle est possible puisque votre tableau est trié

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    +1 pour la dichotomie (pour des nombres quand même largement supérieurs à 5)..

    Sinon, pour des nombres pour lesquels une dichotomie ne se justifie pas forcément, un test simple :

    milieu = N/2

    Si valeur <= valeur(milieu)

    cherche pour i = milieu jusqu'à i >= 0

    Sinon

    cherche pour i = milieu jusqu'à i < N

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Par défaut
    Il n'y a donc aucun moyen simple d'accéder à l'élément souhaiter?
    Je dois tout de même accéder environ 2^30 fois à un élément dans une table de 10 Mo, ce qui n'est pas rien.

  6. #6
    Membre très actif
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Par défaut
    2^30 fois ?
    Il y a un pb d'algo en amont !

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    @P.O. :

    Tu ne nous a pas donné correctement le rpoblème :

    J'ai un séquence de 5 nombres n0 .. n5 tous
    ce n'est pas :

    un élément dans une table de 10 Mo,



    D'autre part :

    Citation Envoyé par Nebulix Voir le message
    2^30 fois ?
    Il y a un pb d'algo en amont !
    Absolument....





    Peut-on savoir ce que tu cherches réellement à faire ????

    Expose ton vrai problème, clairement, et tu auras (peut-être) des réponses correctes...


    (en remarque : la dichotomie est quasi-imbattable sur d'énormes nombres)

Discussions similaires

  1. [XSLT 1.0] Connaitre la position d'un élément, suivant son contenu
    Par bipbip2006 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 22/06/2012, 12h18
  2. [HTML 4.0] Est-il possible de connaitre l'index d'un élément d'une liste déroulante ?
    Par beegees dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 01/05/2009, 20h53
  3. Connaître la position d'un élément sur une page imprimée
    Par guidav dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/07/2008, 10h44
  4. [XPath]Connaitre la Position() de l'élément parent
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/04/2007, 11h28
  5. position d'un élément dans une liste
    Par john491 dans le forum Général Python
    Réponses: 8
    Dernier message: 05/05/2006, 13h13

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