Normalement, dans les algorithmes, nous ne nous soucions pas de la comparaison, de l'addition ou de la soustraction de nombres - nous supposons qu'ils sont exécutés dans le temps . Par exemple, nous supposons cela lorsque nous disons que le tri basé sur la comparaison est O ( n log …
Je sais que les opérations binaires sont très rapides sur les processeurs modernes, car ils peuvent fonctionner en parallèle sur 32 ou 64 bits. Les opérations binaires ne prennent donc qu'un cycle d'horloge. Toutefois, l’ajout est une opération complexe qui consiste en au moins une, voire une douzaine d’opérations par …
Question: "Certaines propriétés d'un langage de programmation peuvent nécessiter que le seul moyen d'obtenir l'exécution du code qui y est écrit soit par interprétation. En d'autres termes, la compilation en code machine natif d'un processeur traditionnel n'est pas possible. Quelles sont ces propriétés?" Les compilateurs: principes et pratique par Parag …
On dit souvent que la recherche de table de hachage fonctionne à temps constant: vous calculez la valeur de hachage, ce qui vous donne un index pour une recherche de tableau. Pourtant, cela ignore les collisions; dans le pire des cas, chaque élément arrive dans le même compartiment et le …
Comment les ordinateurs peuvent-ils indiquer l'heure et la date correctes à chaque fois? À chaque fois que je ferme (arrête) l'ordinateur, toutes les connexions et tous les processus à l'intérieur s'arrêtent. Comment se fait-il que lorsque j'ouvre à nouveau l'ordinateur, il indique l'heure exacte exacte? L'ordinateur ne s'arrête-t-il pas complètement …
Je suis un étudiant de premier cycle en CS. Je comprends comment Turing a créé sa machine abstraite (modéliser une personne effectuant un calcul), mais cela me semble être une abstraction maladroite et inélégante. Pourquoi considérons-nous une "bande" et une tête de machine écrivant des symboles, changeant d'état, déplaçant la …
Il y a quelques années, MapReduce a été salué comme une révolution de la programmation distribuée. Il y a eu aussi des critiques, mais dans l'ensemble, il y a eu un battage médiatique enthousiaste. Il a même été breveté! [1] Le nom rappelle mapet reducedans la programmation fonctionnelle, mais quand …
J'ai entendu parler de l'induction (structurelle). Il vous permet de construire des structures finies à partir de plus petites et vous donne des principes de preuve pour raisonner sur de telles structures. L'idée est assez claire. Mais qu'en est-il de la coinduction? Comment ça marche? Comment peut-on dire quelque chose …
Les gens disent souvent que les analyseurs syntaxiques LR (k) sont plus puissants que les analyseurs syntaxiques LL (k) . Ces déclarations sont vagues la plupart du temps; en particulier, devrions-nous comparer les classes pour un fixe ou l'union sur tous les k ? Alors, comment est la situation vraiment? …
En tant qu’ingénieur logiciel, j’écris beaucoup de code pour les produits industriels. Trucs relativement compliqués avec des classes, des threads, des efforts de conception, mais aussi des compromis sur les performances. Je fais beaucoup de tests, et j'en ai marre, alors je me suis intéressé aux outils de preuve formels, …
J'aimerais savoir s'il y a eu des travaux reliant le code juridique à la complexité. En particulier, supposons que nous ayons le problème de décision "Compte tenu de ce recueil de lois et de ce cas particulier, le défendeur est-il coupable?" À quelle classe de complexité appartient-il? Il y a …
Je suis en train de terminer ma maîtrise en informatique. Je suis intéressé par les langages de programmation, en particulier dans les systèmes de types. Je me suis intéressé à la recherche dans ce domaine et le semestre prochain, je commencerai un doctorat sur le sujet. Maintenant, voici la vraie …
Je me demande s’il est possible de construire des compilateurs pour des langages dynamiques comme Ruby afin d’avoir des performances similaires et comparables à celles du C / C ++? D'après ce que je comprends des compilateurs, prenons Ruby par exemple, compiler du code Ruby ne peut jamais être efficace, …
Dans des langages tels que C, le programmeur est censé insérer des appels pour libérer. Pourquoi le compilateur ne le fait-il pas automatiquement? Les humains le font dans un délai raisonnable (en ignorant les bugs), donc ce n'est pas impossible. EDIT: Pour une référence future, voici une autre discussion qui …
On vous donne un tableau de éléments2n2n2n a1,a2,…,an,b1,b2,…bna1,a2,…,an,b1,b2,…bna_1, a_2, \dots, a_n, b_1, b_2, \dots b_n La tâche consiste à entrelacer le tableau, en utilisant un algorithme sur place tel que le tableau résultant ressemble à b1,a1,b2,a2,…,bn,anb1,a1,b2,a2,…,bn,anb_1, a_1, b_2, a_2, \dots , b_n, a_n Si l'exigence en place n'existait pas, nous …
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.