Questions sur la science et l'art de déterminer les propriétés des algorithmes, y compris souvent l'exactitude, l'exécution et l'utilisation de l'espace. Utilisez la balise [runtime-analysis] pour des questions sur l'exécution des algorithmes.
L' analyse lissée a- t-elle trouvé son chemin dans l'analyse principale des algorithmes? Est-il courant que les concepteurs d'algorithmes appliquent une analyse lissée à leurs algorithmes?
Pour formuler la question, en informatique, nous voulons souvent calculer le produit de plusieurs probabilités: P(A,B,C) = P(A) * P(B) * P(C) L'approche la plus simple consiste simplement à multiplier ces nombres, et c'est ce que j'allais faire. Cependant, mon patron a dit qu'il valait mieux ajouter le journal des …
Certains algorithmes complexes ( union-find ) ont la fonction Ackermann inverse presque constante qui apparaît dans la complexité temporelle asymptotique, et sont optimales dans le pire des cas si le terme Ackermann inverse presque constant est ignoré. Existe-t-il des exemples d'algorithmes connus avec des durées de fonctionnement qui impliquent des …
Parfois, il est facile d'identifier la complexité temporelle d'un algorithme en l'examinant attentivement. Les algorithmes avec deux boucles imbriquées de sont évidemment . Les algorithmes qui explorent toutes les combinaisons possibles de groupes de deux valeurs sont évidemment .N 2 N 2 NNNNN2N2N^2NNN2N2N2^N Cependant, je ne sais pas comment "repérer" …
J'ai le code Python suivant. def collatz(n): if n <= 1: return True elif (n%2==0): return collatz(n/2) else: return collatz(3*n+1) Quel est le temps d'exécution de cet algorithme? Essayer: Si désigne le temps d'exécution de la fonction . Alors je pense que j'ai { T ( n ) = 1 …
Je m'intéresse à la question du temps d'exécution asymptotique de l'algorithme d'Ukkonen , peut-être l'algorithme le plus populaire pour construire des arbres de suffixes en temps linéaire (?). Voici une citation du livre "Algorithmes sur les chaînes, les arbres et les séquences" de Dan Gusfield (section 6.5.1): "... les algorithmes …
Je remarque que dans quelques articles de recherche CS, pour comparer l'efficacité de deux algorithmes, le nombre total de comparaison clé dans les algorithmes est utilisé plutôt que les temps de calcul réels eux-mêmes. Pourquoi ne pouvons-nous pas comparer lequel est le meilleur en exécutant les deux programmes et en …
Le tri rapide aléatoire est une extension du tri rapide dans lequel l'élément pivot est choisi au hasard. Quelle peut être la pire complexité temporelle de cet algorithme. Selon moi, ce devrait être , car le pire des cas se produit lorsque le pivot choisi au hasard est sélectionné dans …
Vous avez un tableau de éléments distincts. Vous avez accès à un comparateur (une fonction de boîte noire prenant deux éléments et et retournant vrai ssi ) et une source de bits vraiment aléatoire (une fonction de boîte noire ne prenant aucun argument et retournant un bit aléatoire uniformément indépendant). …
Dans leur livre Randomized Algorithms , Motwani et Raghavan ouvrent l'introduction avec une description de leur fonction RandQS - Randomized quicksort - où le pivot, utilisé pour partitionner l'ensemble en deux parties, est choisi au hasard. J'ai accumulé mes cerveaux (certes un peu sous-alimentés) pendant un certain temps, mais je …
La combinatoire joue un rôle important en informatique. Nous utilisons fréquemment des méthodes combinatoires à la fois dans l'analyse et la conception dans les algorithmes. Par exemple, une méthode pour trouver un ensemble de couvertures -vertex dans un graphique pourrait simplement inspecter tous les sous-ensembles \ binom {n} {k} possibles. …
L'algorithme de tri rapide peut être divisé en étapes suivantes Identifiez le pivot. Partitionnez la liste liée en fonction du pivot. Divisez la liste chaînée récursivement en 2 parties. Maintenant, si je choisis toujours le dernier élément comme pivot, alors l'identification de l'élément pivot (1ère étape) prend du temps .O(n)O(n)\mathcal …
Dans le livre "Computational Geometry: Algorithms and Applications" de Mark de Berg et al., Il existe un algorithme de force brute très simple pour calculer les triangulations de Delaunay. L'algorithme utilise la notion d' arêtes illégales - des arêtes qui peuvent ne pas apparaître dans une triangulation Delaunay valide et …
L'année dernière, je lisais un article fantastique sur «La mécanique quantique pour les jardins d'enfants» . Ce n'était pas du papier facile. Maintenant, je me demande comment expliquer le tri rapide dans les mots les plus simples possibles. Comment puis-je prouver (ou au moins une onde de main) que la …
Très probablement, cette question est posée avant. C'est du problème 6.5-8 de CLRS (2nd Ed) - Donnez un algorithme de temps pour fusionner listes triées en une seule liste triée, où est le nombre total d'éléments dans toutes les listes d'entrée. (Astuce: utilisez un min-tas pour la fusion -way.)k n …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.