Est-il largement utilisé l'algorithme qui a le temps de la complexité pire que celui d'un autre algorithme connu, mais il est un meilleur choix dans toutes les situations pratiques (le pire de complexité, mais mieux sinon)?
Une réponse acceptable pourrait être dans un formulaire:
Il existe des algorithmes
A
etB
que ontO(N**2)
etO(N)
du temps la complexité en conséquence, maisB
a une telle grande constant qu'il n'a pas de avantages par rapportA
pour les entrées moins ensuite, un certain nombre d'atomes dans l' De l'univers.
Exemples saillants des réponses:
Algorithme du simplexe -- le pire des cas est temps exponentiel -- vs connu polynomiale en temps des algorithmes pour les problèmes d'optimisation convexe.
Un naïf médian des médianes algorithme -- pire des cas en O(N**2) vs connu algorithme O(N).
Mandature regex moteurs-pire-cas exponentiel vs O(N) Thompson ADN à base de moteurs.
Tous ces exemples exploiter le pire des cas vs moyenne des scénarios.
Sont là des exemples qui ne reposent pas sur la différence entre le pire des cas vs moyenne des scénarios?
Connexes:
La Montée de la `Pire, c'est Mieux". (Pour les fins de cette question, le "Pire, Mieux c'est" la phrase est utilisée dans une plus étroite (à savoir -- algorithmique temps-la complexité) de sens que dans l'article)
-
Python Philosophie de Conception:
Le groupe ABC s'est efforcé de la perfection. Par exemple, ils ont utilisé de l'arborescence de base de données la structure des algorithmes qui ont été prouvés pour être optimale, pour asymptotiquement grand collections (mais ne sont pas pour les petites collections).
Cet exemple serait la réponse si il n'y avait pas d'ordinateurs capables de stocker ces grandes collections (en d'autres termes large n'est pas assez grand dans ce cas).
Chaudronnerie–algorithme de Winograd pour le carré de la matrice de la multiplication est un bon exemple (c'est le plus rapide (2008), mais elle est inférieure à la pire des algorithmes). Tout les autres? À partir de l'article de wikipédia: "Elle n'est pas utilisée en pratique, car il fournit seulement un avantage pour les matrices si grande qu'ils ne peuvent pas être traitées par du matériel moderne (Robinson, 2005)."