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.
J'ai utilisé la technique de la programmation dynamique à plusieurs reprises, mais aujourd'hui, un ami m'a demandé comment je définissais mes sous-problèmes. Je me suis rendu compte que je n'avais aucun moyen de fournir une réponse formelle objective. Comment définissez-vous formellement un sous-problème pour un problème que vous voudriez résoudre …
Je sais comment coder des factorielles en utilisant à la fois des méthodes itératives et récursives (par exemple, n * factorial(n-1)par exemple). J'ai lu dans un manuel (sans autre explication) qu'il existe un moyen encore plus efficace de coder des factorielles en les divisant de manière récursive. Je comprends pourquoi …
Je me suis penché sur le calcul derrière la conversion d'une base à une autre. Il s’agit plus de confirmer mes résultats que d’autre chose. J'ai trouvé ce qui semble être ma réponse sur mathforum.org mais je ne suis toujours pas sûr d'avoir bien compris. J'ai la conversion d'une base …
Je suis novice dans la compréhension des algorithmes informatiques. Je comprends le processus de recherche binaire, mais j'ai un léger malentendu avec son efficacité. Dans une taille de éléments, il faudrait en moyenne étapes pour trouver un élément particulier. En prenant le logarithme en base 2 des deux côtés, on …
J'ai du mal à trouver de bonnes ressources qui donnent le pire des cas en place stable algorithme de tri. Est-ce que quelqu'un connaît de bonnes ressources?O ( n lnn )O(nlnn)O(n \ln n) Juste un rappel, en place signifie qu’il utilise le tableau transmis et que l’algorithme de tri n’est …
Voici le pseudocode standard pour la première recherche en largeur: { seen(x) is false for all x at this point } push(q, x0) seen(x0) := true while (!empty(q)) x := pop(q) visit(x) for each y reachable from x by one edge if not seen(y) push(q, y) seen(y) := true Ici …
Quelqu'un peut - il me suggérer un algorithme linéaire qui prend en entrée un graphe orienté acyclique et deux sommets et et retourne le nombre de chemins simples de à dans . J'ai un algorithme dans lequel je vais lancer un DFS (recherche approfondie d'abord) mais si DFS trouve il …
Je me demande s'il existe un moyen standard de mesurer le "tri" d'un tableau? Un tableau contenant le nombre médian d'inversions possibles serait-il considéré comme non trié au maximum? J'entends par là qu'il est fondamentalement aussi loin que possible d'être trié ou inversé.
Existe-t-il une différence fondamentale entre la programmation dynamique descendante et ascendante? En particulier, y a-t-il un problème qui peut être résolu de bas en haut mais pas de haut en bas? Ou bien l’approche ascendante est-elle simplement un dénouement de la récurrence de l’approche descendante?
Dans son article phare de 1987, Dana Angluin présente un algorithme temporel polynomial pour l’apprentissage d’un DFA à partir de requêtes d’appartenance et de requêtes théoriques (contre-exemples d’un DFA proposé). Elle montre que si vous essayez d'apprendre un DFA minimal avec états et que votre plus grand contre-exemple est de …
Il est bien connu que cet algorithme «naïf» pour mélanger un tableau en échangeant chaque élément avec un autre choisi au hasard ne fonctionne pas correctement: for (i=0..n-1) swap(A[i], A[random(n)]); Plus précisément, puisque à chacune des nnn itérations, l’une desnnn choix est fait (avec une probabilité uniforme), il y a …
Désolé à l'avance si cette question vous semble stupide ... Pour autant que je sache, la construction d'un algorithme utilisant la programmation dynamique fonctionne de cette façon: exprimer le problème comme une relation de récurrence; mettre en œuvre la relation de récurrence soit par mémorisation, soit par une approche ascendante. …
Je ne suis même pas un étudiant CS, donc cela pourrait être une question stupide, mais veuillez me supporter ... À l'ère pré-informatique, nous ne pouvons implémenter une structure de données de tableau qu'avec quelque chose comme un tableau de tiroirs. Puisqu'il faut localiser le tiroir avec l'index correspondant avant …
Ce programme de 579 bits dans le calcul binaire Lambda a un état d'arrêt inconnu: 01001001000100010001000101100111101111001110010101000001110011101000000111001110 10010000011100111010000001110011101000000111001110100000000111000011100111110100 00101011000000000010111011100101011111000000111001011111101101011010000000100000 10000001011100000000001110010101010101010111100000011100101010110000000001110000 00000111100000000011110000000001100001010101100000001110000000110000000100000001 00000000010010111110111100000010101111110000001100000011100111110000101101101110 00110000101100010111001011111011110000001110010111111000011110011110011110101000 0010110101000011010 Autrement dit, on ne sait pas si ce programme se termine ou non. Pour le déterminer, vous devez résoudre la conjecture de Collatz - ou, au moins, …
Je cherche de l'aide pour comprendre l'algorithme de détection de cycle de Floyd. J'ai parcouru l'explication sur wikipedia ( http://en.wikipedia.org/wiki/Cycle_detection#Tortoise_and_hare ) Je peux voir comment l'algorithme détecte le cycle en temps O (n). Cependant, je ne peux pas visualiser le fait qu'une fois que les pointeurs de tortue et de …
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.