L'informatique

Questions et réponses pour les étudiants, chercheurs et praticiens de l'informatique

130
Pourquoi y a-t-il tant de langages de programmation?

Je parle assez bien le C / C ++ et je peux me familiariser avec les différents langages de script (awk / sed / perl). J'ai commencé à utiliser beaucoup plus python, car il combine certains aspects astucieux du C ++ avec les fonctionnalités de script de awk / sed / perl. Mais pourquoi y a-t-il tant...

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...