Précédent   Forum du club des développeurs et IT Pro > Autres langages > Algorithmes > Mathématiques
Mathématiques Forum d'entraide sur les mathématiques et l'algorithmique numérique. Avant de poster : Cours d'algorithmique numérique
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 11/11/2012, 13h26   #1
xanderj
Invité de passage
 
Inscription : novembre 2012
Messages : 1
Détails du profil
Informations forums :
Inscription : novembre 2012
Messages : 1
Points : 2
Points : 2
Par défaut Problème avec les O

Hello le forum,

on a vu les O l'an dernier et on a vu que sa permet de classer les algos. On a vu que O(log n) c'est mieux que O(nlogn) qui est mieux O(n) etc ... log c'est mieux lineaire mieux que polynomial mieux qu'exponentiel. mais dans le cours je vien de voir que O(3^n) c'est pire que O(2^n) pourtant c'est de l'exponentiel et je comprend pas. Vous pouver m'aidé a comprendre stp
xanderj est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2012, 14h23   #2
kwariz
Expert Confirmé
 
Homme Fred Kwariz
Chef de projet en SSII
Inscription : octobre 2011
Messages : 736
Détails du profil
Informations personnelles :
Nom : Homme Fred Kwariz
Âge : 40
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : octobre 2011
Messages : 736
Points : 2 896
Points : 2 896
Bonjour,

tu trouves ça plus choquant que O(n³) «est pire» que O(n²) pourtant O(n²) comme O(n³) «c'est du polynomial» ?
kwariz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2012, 16h45   #3
Aleph69
Membre Expert
 
Homme
Chercheur
Inscription : mars 2010
Messages : 1 143
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chercheur

Informations forums :
Inscription : mars 2010
Messages : 1 143
Points : 1 654
Points : 1 654
Salut,

il faudrait savoir ce que tu entends par "mieux que" et "pire que". Formellement, ça veut dire quoi? A mon avis, ton problème vient du fait que tu as une vision beaucoup trop qualitative de la notation O.
Aleph69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2012, 09h38   #4
pseudocode
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 815
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 40
Localisation : France, Hérault (Languedoc Roussillon)

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

Informations forums :
Inscription : décembre 2006
Messages : 9 815
Points : 16 461
Points : 16 461
Citation:
Envoyé par xanderj Voir le message
on a vu les O l'an dernier et on a vu que sa permet de classer les algos. On a vu que O(log n) c'est mieux que O(nlogn) qui est mieux O(n) etc ... log c'est mieux lineaire mieux que polynomial mieux qu'exponentiel. mais dans le cours je vien de voir que O(3^n) c'est pire que O(2^n) pourtant c'est de l'exponentiel et je comprend pas. Vous pouver m'aidé a comprendre stp
Je n'aime pas trop la terminologie "mieux/pire", je préfère "est dominé par/ domine". voila ce qu'on pourrait dire:
  • f=O(g) <==> f est dominé par g <==> limite{ f/g } = 0
  • g=O(f) <==> f domine g <==> limite{ f/g } = +oo
  • f~g <==> f est équivalent à g <==> limite{ f/g } = Constante non-nulle


lim { 3^n / 2^n } = lim { (3/2)^n } = +oo
<==> 3^n domine 2^n
<==> 2^n = O(3^n)
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2012, 13h13   #5
kwariz
Expert Confirmé
 
Homme Fred Kwariz
Chef de projet en SSII
Inscription : octobre 2011
Messages : 736
Détails du profil
Informations personnelles :
Nom : Homme Fred Kwariz
Âge : 40
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : octobre 2011
Messages : 736
Points : 2 896
Points : 2 896
Citation:
Envoyé par pseudocode Voir le message
Je n'aime pas trop la terminologie "mieux/pire", je préfère "est dominé par/ domine". voila ce qu'on pourrait dire:
  • f=O(g) <==> f est dominé par g <==> limite{ f/g } = 0
  • g=O(f) <==> f domine g <==> limite{ f/g } = +oo
  • f~g <==> f est équivalent à g <==> limite{ f/g } = Constante non-nulle


lim { 3^n / 2^n } = lim { (3/2)^n } = +oo
<==> 3^n domine 2^n
<==> 2^n = O(3^n)
Bonjour,

Les limites aident mais l'équivalence n'a lieue que quand la limite vaut 1. Si la limite converge vers une constante non nulle on peut juste dire que f∈O(g) et g∈O(f). Cela pourrait se résumer en :
  • lim f/g = ∞ alors g∈O(f) et f∉O(g)
  • lim f/g = a>0 alors g∈O(f) et f∈O(g)
  • lim f/g = 0 alors g∉O(f) et f∈O(g)
kwariz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h14.


 
 
 
 
Partenaires

Hébergement Web