Computational resourceIn computational complexity theory, a computational resource is a resource used by some computational models in the solution of computational problems. The simplest computational resources are computation time, the number of steps necessary to solve a problem, and memory space, the amount of storage needed while solving the problem, but many more complicated resources have been defined. A computational problem is generally defined in terms of its action on any valid input.
Dynamic loadingDynamic loading is a mechanism by which a computer program can, at run time, load a library (or other ) into memory, retrieve the addresses of functions and variables contained in the library, execute those functions or access those variables, and unload the library from memory. It is one of the 3 mechanisms by which a computer program can use some other software; the other two are static linking and dynamic linking.
Dynamic linkerIn computing, a dynamic linker is the part of an operating system that loads and links the shared libraries needed by an executable when it is executed (at "run time"), by copying the content of libraries from persistent storage to RAM, filling jump tables and relocating pointers. The specific operating system and executable format determine how the dynamic linker functions and how it is implemented.
Type systemIn computer programming, a type system is a logical system comprising a set of rules that assigns a property called a type (for example, integer, floating point, string) to every "term" (a word, phrase, or other set of symbols). Usually the terms are various constructs of a computer program, such as variables, expressions, functions, or modules. A type system dictates the operations that can be performed on a term. For variables, the type system determines the allowed values of that term.
Type algébrique de donnéesUn type algébrique est une forme de type de données composite, qui combine les fonctionnalités des types produits (n‐uplets ou enregistrements) et des types sommes (union disjointe). Combinée à la récursivité, elle permet d’exprimer les données structurées telles que les listes et les arbres. Le type produit de deux types A et B est l’analogue en théorie des types du produit cartésien ensembliste et est noté A × B. C’est le type des couples dont la première composante est de type A et la seconde de type B.
Récursivement énumérableEn théorie de la calculabilité, un ensemble d'entiers naturels est récursivement énumérable ou semi-décidable si : il existe un algorithme qui prend un entier naturel en entrée, et qui s'arrête exactement sur les entiers de ; ou, de manière équivalente : il existe un procédé algorithmique qui, au cours de son fonctionnement, énumère en sortie tous les entiers de et seulement ceux-ci (il est possible, et même nécessaire quand est infini, qu'il ne s'arrête pas).
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.
LongueurEn géométrie, la longueur est la mesure d'une courbe dans un espace sur lequel est définie une notion de distance. La longueur est une mesure linéaire sur une seule dimension, par opposition à la surface qui est une mesure sur deux dimensions, et au volume dont la mesure porte sur trois dimensions. La longueur d'une courbe ne doit pas être confondue avec la distance entre deux points, qui correspond au minimum des longueurs des chemins reliant ces points. La longueur est une grandeur physique et une dimension de base.
Unité de longueurUne unité de longueur est une unité, c'est-à-dire un étalon, permettant d'exprimer la mesure physique. Selon les époques, il existe différentes unités permettant d'expliquer la grandeur physique, intégrées à divers systèmes. L'unité de longueur de référence, internationalement reconnue dans le cadre du Système international est le mètre ; il est décliné en multiples et sous-multiples décimaux. D'autres unités de longueur issus de systèmes différents sont utilisées, soit pour simplifier les expressions dans des domaines d'activités spécifiques, soit pour des raisons culturelles et traditionnelles.
Tas (informatique)vignette|Un exemple de tas. Il contient 9 éléments. L'élément le plus prioritaire (100) est à la racine. En informatique, un tas (ou monceau au Canada, heap en anglais) est une structure de données de type arbre qui permet de retrouver directement l'élément que l'on veut traiter en priorité. C'est un arbre binaire presque complet ordonné. Un arbre binaire est dit presque complet si tous ses niveaux sont remplis, sauf éventuellement le dernier, qui doit être rempli sur la gauche (cf. Contre-exemples).
Tableau (structure de données)En informatique, un tableau est une structure de données représentant une séquence finie d'éléments auxquels on peut accéder efficacement par leur position, ou indice, dans la séquence. C'est un type de conteneur que l'on retrouve dans un grand nombre de langages de programmation. Dans les langages à typage statique (comme C, Java et OCaml), tous les éléments d’un tableau doivent être du même type. Certains langages à typage dynamique (tels APL et Python) permettent des tableaux hétérogènes.
MémoïsationEn informatique, la mémoïsation (ou mémoïzation) est la mise en cache des valeurs de retour d'une fonction selon ses valeurs d'entrée. Le but de cette technique d'optimisation de code est de diminuer le temps d'exécution d'un programme informatique en mémorisant les valeurs retournées par une fonction. Bien que liée à la notion de cache, la mémoïsation désigne une technique bien distincte de celles mises en œuvre dans les algorithmes de gestion de la mémoire cache. Le terme anglais « memoization » a été introduit par Donald Michie en 1968.