Algorithme récursifUn algorithme récursif est un algorithme qui résout un problème en calculant des solutions d'instances plus petites du même problème. L'approche récursive est un des concepts de base en informatique. Les premiers langages de programmation qui ont autorisé l'emploi de la récursivité sont LISP et Algol 60. Depuis, tous les langages de programmation généraux réalisent une implémentation de la récursivité. Pour répéter des opérations, typiquement, un algorithme récursif s'appelle lui-même.
RécursivitéLa récursivité est une démarche qui fait référence à l'objet même de la démarche à un moment du processus. En d'autres termes, c'est une démarche dont la description mène à la répétition d'une même règle.
Course-of-values recursionIn computability theory, course-of-values recursion is a technique for defining number-theoretic functions by recursion. In a definition of a function f by course-of-values recursion, the value of f(n) is computed from the sequence . The fact that such definitions can be converted into definitions using a simpler form of recursion is often used to prove that functions defined by course-of-values recursion are primitive recursive.
Algorithmethumb|Algorithme de découpe d'un polygone quelconque en triangles (triangulation). Un algorithme est une suite finie et non ambiguë d'instructions et d’opérations permettant de résoudre une classe de problèmes. Le domaine qui étudie les algorithmes est appelé l'algorithmique. On retrouve aujourd'hui des algorithmes dans de nombreuses applications telles que le fonctionnement des ordinateurs, la cryptographie, le routage d'informations, la planification et l'utilisation optimale des ressources, le , le traitement de textes, la bio-informatique L' algorithme peut être mis en forme de façon graphique dans un algorigramme ou organigramme de programmation.
Algorithme de rechercheEn informatique, un algorithme de recherche est un type d'algorithme qui, pour un domaine, un problème de ce domaine et des critères donnés, retourne en résultat un ensemble de solutions répondant au problème. Supposons que l'ensemble de ses entrées soit divisible en sous-ensemble, par rapport à un critère donné, qui peut être, par exemple, une relation d'ordre. De façon générale, un tel algorithme vérifie un certain nombre de ces entrées et retourne en sortie une ou plusieurs des entrées visées.
Algorithme de triUn algorithme de tri est, en informatique ou en mathématiques, un algorithme qui permet d'organiser une collection d'objets selon une relation d'ordre déterminée. Les objets à trier sont des éléments d'un ensemble muni d'un ordre total. Il est par exemple fréquent de trier des entiers selon la relation d'ordre usuelle « est inférieur ou égal à ». Les algorithmes de tri sont utilisés dans de très nombreuses situations. Ils sont en particulier utiles à de nombreux algorithmes plus complexes dont certains algorithmes de recherche, comme la recherche dichotomique.
Algorithme probabilisteEn algorithmique, un algorithme probabiliste, ou algorithme randomisé, est un algorithme qui utilise une source de hasard. Plus précisément le déroulement de l’algorithme fait appel à des données tirées au hasard. Par exemple à un certain point de l’exécution, on tire un bit 0 ou 1, selon la loi uniforme et si le résultat est 0, on fait une certaine action A et si c'est 1, on fait une autre action. On peut aussi tirer un nombre réel dans l'intervalle [0,1] ou un entier dans un intervalle [i..j].
Loop variantIn computer science, a loop variant is a mathematical function defined on the state space of a computer program whose value is monotonically decreased with respect to a (strict) well-founded relation by the iteration of a while loop under some invariant conditions, thereby ensuring its termination. A loop variant whose range is restricted to the non-negative integers is also known as a bound function, because in this case it provides a trivial upper bound on the number of iterations of a loop before it terminates.
Entier algébriqueEn mathématiques, un entier algébrique est un élément d'un corps de nombres qui y joue un rôle analogue à celui d'un entier relatif dans le corps des nombres rationnels. L'étude des entiers algébriques est à la base de l'arithmétique des corps de nombres, et de la généralisation dans ces corps de notions comme celles de nombre premier ou de division euclidienne. Par définition, un entier algébrique est une racine d'un polynôme unitaire à coefficients dans Z.
Entier de Gaussthumb|Carl Friedrich Gauss. En mathématiques, et plus précisément, en théorie algébrique des nombres, un entier de Gauss est un nombre complexe dont la partie réelle et la partie imaginaire sont des entiers relatifs. Il s'agit formellement d'un élément de l'anneau des entiers quadratiques de l'extension quadratique des rationnels de Gauss L'ensemble des entiers de Gauss possède une structure forte. Comme tous les ensembles d'entiers algébriques, muni de l'addition et de la multiplication ordinaire des nombres complexes, il forme un anneau intègre, généralement noté , désignant ici l'unité imaginaire.
Décomposition en produit de facteurs premiersvignette|Décomposition du nombre 864 en facteurs premiers En mathématiques et plus précisément en arithmétique, la décomposition en produit de facteurs premiers, aussi connue comme la factorisation entière en nombres premiers ou encore plus couramment la décomposition en facteurs premiers, consiste à chercher à écrire un entier naturel non nul sous forme d'un produit de nombres premiers. Par exemple, si le nombre donné est 45, la factorisation en nombres premiers est 3 × 5, soit 3 × 3 × 5.
Anneau des entiersEn algèbre commutative, l'anneau des entiers est une construction que l'on peut obtenir à partir de tout corps de nombres en considérant ses éléments entiers. Par exemple, l'anneau des entiers de est . Il existe des algorithmes efficaces pour calculer cet anneau pour tout corps de nombres. La notion peut en fait être étendue à d'autres objets (notamment les corps de fonctions), et porte une interprétation géométrique. Élément entier Soit K un corps de nombres. Un élément de K est dit entier s'il est racine d'un polynôme unitaire à coefficients dans .
Nombres premiers entre euxvignette|Le segment ne passe par aucun point du réseau (hormis les points à ses extrémités), ce qui montre que 4 et 9 sont premiers entre eux. En mathématiques, on dit que deux entiers a et b sont premiers entre eux, que a est premier avec b ou premier à b ou encore que a et b sont copremiers (ou encore étrangers) si leur plus grand commun diviseur est égal à 1 ; en d'autres termes, s'ils n'ont aucun diviseur autre que 1 et –1 en commun. De manière équivalente, ils sont premiers entre eux s'ils n'ont aucun facteur premier en commun.
Entier quadratiqueEn mathématiques, un entier quadratique est un nombre complexe, racine d'un polynôme unitaire du second degré à coefficients entiers. La notion de nombre algébrique de degré inférieur ou égal à 2 est plus générale : elle correspond à un nombre complexe, racine d'un polynôme du second degré à coefficients seulement rationnels. Ces nombres particuliers disposent de propriétés algébriques.
Entier relatifEn mathématiques, un entier relatif, un entier rationnel ou simplement un nombre entier est un nombre qui se présente comme un entier naturel auquel on a adjoint un signe positif ou négatif indiquant sa position par rapport à 0 sur un axe orienté. Les entiers positifs (supérieurs à zéro) s'identifient aux entiers naturels : 0, 1, 2, 3... tandis que les entiers négatifs sont leurs opposés : 0, −1, −2, −3... L'entier 0 lui-même est donc le seul nombre à la fois positif et négatif.
Entier d'Eisensteinthumb|Les entiers d'Eisenstein sont les points d'intersection d'un treillis triangulaire dans le plan complexe. En mathématiques, les 'entiers d'Eisenstein', nommés en l'honneur du mathématicien Gotthold Eisenstein, sont les nombres complexes de la forme où a et b sont des entiers relatifs et est une racine cubique primitive de l'unité (souvent autrement notée j). Les entiers d'Eisenstein forment un réseau triangulaire dans le plan complexe. Ils contrastent avec les entiers de Gauss qui forment un réseau carré dans le plan complexe.
Scala (langage)Scala est un langage de programmation multi-paradigme conçu à l'École polytechnique fédérale de Lausanne (EPFL) pour exprimer les modèles de programmation courants dans une forme concise et élégante. Son nom vient de l'anglais Scalable language qui signifie à peu près « langage adaptable » ou « langage qui peut être mis à l'échelle ». Il peut en effet être vu comme un métalangage. Scala intègre les paradigmes de programmation orientée objet et de programmation fonctionnelle, avec un typage statique.
Dépassement d'entiervignette|Le vol 501 d'Ariane 5 en 1996 s'est soldé par sa destruction en raison d'un dépassement d'entier. Un dépassement d'entier (integer overflow) est, en informatique, une condition qui se produit lorsqu'une opération mathématique produit une valeur numérique supérieure à celle représentable dans l'espace de stockage disponible. Par exemple, l'ajout d'une unité au plus grand nombre pouvant être représenté entraîne un dépassement d'entier. Le dépassement d'entier porte le numéro CWE-190 dans la nomenclature Common Weakness Enumeration.
Entier sans facteur carrévignette|Les nombres qui n'ont pas été rayé sont tous les entiers sans facteur carré jusqu'à 120 En mathématiques et plus précisément en arithmétique, un entier sans facteur carré (souvent appelé, par tradition ou commodité quadratfrei ou squarefree) est un entier relatif qui n'est divisible par aucun carré parfait, excepté 1. Par exemple, 10 est sans facteur carré mais 18 ne l'est pas, puisqu'il est divisible par 9 = 3. Les dix plus petits nombres de la des entiers positifs sans facteur carré sont 1, 2, 3, 5, 6, 7, 10, 11, 13, 14.
Output deviceAn output device is a piece of computer hardware that converts information into a human-perceptible form or, historically, into a physical machine-readable form for use with other non-computerized equipment. It can be text, graphics, tactile, audio, or video. Examples include monitors, printers, speakers, headphones, projectors, GPS devices, optical mark readers, and braille readers.