Questions marquées «algorithms»

Un algorithme est une séquence d'étapes bien définies qui définit une solution abstraite à un problème. Utilisez cette balise lorsque votre problème est lié à la conception et à l'analyse d'algorithmes.

122
Pourquoi puis-je regarder un graphique et trouver immédiatement le point le plus proche d'un autre point, mais cela me prend du temps (n) par la programmation?

Permettez-moi de préciser: Étant donné le diagramme de dispersion d'un nombre donné de points n, si je veux trouver le point le plus proche d'un point du graphique, je peux immédiatement ignorer la plupart des points du graphique, réduisant ainsi mes choix à un petit nombre constant de points...

106
Comment tromper l'heuristique «essayez des scénarios de test»: des algorithmes qui semblent corrects, mais qui sont en réalité incorrects

Pour essayer de vérifier si un algorithme est correct pour un problème donné, le point de départ habituel est d'essayer de l'exécuter à la main sur un certain nombre de cas de test simples. Essayez-le sur quelques exemples de problèmes, y compris quelques "cas simples". ". C'est une excellente...

83
Partitionnement Quicksort: Hoare vs Lomuto

Il existe deux méthodes de partition quicksort mentionnées dans Cormen: Hoare-Partition(A, p, r) x = A[p] i = p - 1 j = r + 1 while true repeat j = j - 1 until A[j] <= x repeat i = i + 1 until A[i] >= x if i < j swap( A[i], A[j] ) else return j et: Lomuto-Partition(A, p, r) x = A[r] i = p...

52
Qu'est-ce que la récursion de la queue?

Je connais le concept général de récursivité. Je suis tombé sur le concept de récursion de queue tout en étudiant l'algorithme Quicksort. Dans cette vidéo de l'algorithme de tri rapide du MIT à 18h30, le professeur dit qu'il s'agit d'un algorithme récursif de queue. La récursion de la queue n’est...