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 :

Réduction de 3Sum à 2Sum


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Niger

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2015
    Messages : 58
    Points : 39
    Points
    39
    Par défaut Réduction de 3Sum à 2Sum
    Bonjour à tous.

    J'ai 2 fonctions python identiques dans la forme mais différentes dans le fond.

    Première fonction :
    Ici il s’agit de la première variante de 2SUM : on cherche si deux éléments de T somment à −z.
    Complexité : O(n2)

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    def 3SUM(T):
      T.sort()
      for z in T:
        if 2SUM(T,-z):
           return True
      return False

    2ème fonction :
    Attention : On n’a pas réduit 3SUM à 2SUM car on appelle 2SUM un nombre non borné de fois.

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    def 3SUM(T):
       T.sort()
       for z in T:
          if 2SUM(T,-z):
              return True
       return False

    J'arrive vraiment pas à voir d'où vient la différence puisque pour moi si l'appel à 2SUM est non borné dans la 2ème Fonction alors il l'est aussi dans la 1ère mais pourquoi on ne soulève pas cette inquiétude dans la 1ère fonction?
    Si quelqu'un voit la différence merci de m'aider à la voir.

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 418
    Points : 5 816
    Points
    5 816
    Par défaut
    salut

    dans les deux cas ta fonction est borné
    tu parcourt T
    dans les deux cas dés que l’occurrence est vrai tu sort de ta boucle
    au vu du code que tu nous as fournis les deux fonctions sont identique
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Niger

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2015
    Messages : 58
    Points : 39
    Points
    39
    Par défaut
    Merci.

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 11/04/2005, 18h31
  2. Réponses: 48
    Dernier message: 06/01/2005, 18h02
  3. Détécter la réduction ?
    Par jamesb dans le forum C++Builder
    Réponses: 5
    Dernier message: 25/11/2004, 18h56
  4. Réduction du Journal de transactions SQL Server
    Par Aki dans le forum Bases de données
    Réponses: 1
    Dernier message: 08/10/2004, 09h15
  5. Réduction / agrandissement de fenêtres
    Par StarMusic dans le forum Composants VCL
    Réponses: 3
    Dernier message: 09/10/2003, 15h33

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