Name–value pairA name–value pair, also called an attribute–value pair, key–value pair, or field–value pair, is a fundamental data representation in computing systems and applications. Designers often desire an open-ended data structure that allows for future extension without modifying existing code or data. In such situations, all or part of the data model may be expressed as a collection of 2-tuples in the form with each element being an attribute–value pair.
Bases de données clé-valeurvignette|350x350px|Une carte de données tabulaires proposée pour le moteur analytique de Babbage montrant une paire clé-valeur, dans ce cas un nombre et son logarithme en base 10. Une base de données clé-valeur, ou magasin clé-valeur, est un paradigme de stockage de données conçu pour stocker, récupérer et gérer des tableaux associatifs, et une structure de données plus communément appelée aujourd'hui dictionnaire ou table de hachage.
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.
Valeur sentinelleEn informatique, dans une structure de données de taille variable, une des techniques pour dénoter la fin des données est l'utilisation d'une valeur sentinelle. Celle-ci est stockée dans la structure de donnée de la même manière que ses données, ce qui impose que cette valeur ne puisse pas être confondue avec des données valides. L'utilisation d'une valeur sentinelle implique a priori un parcours séquentiel de la structure de données (même si celle-ci est à accès aléatoire).
C++17C++17, anciennement connu sous le nom de C++1z, est une norme pour le langage de programmation C++. Elle a été publiée en sous le nom de ISO/CEI 14882:2017. Le dernier working draft gratuit est le N4659, qui date du , les seules différences avec le standard étant des corrections éditoriales. Cette version de C++ a non seulement ajouté de nouvelles fonctionnalités, mais en a également supprimé quelques-unes. Suppression des trigrammes. Suppression de certains types et fonctions obsolètes de la bibliothèque standard, notamment , et les anciens adaptateurs de fonction.
Pointer swizzlingIn computer science, pointer swizzling is the conversion of references based on name or position into direct pointer references (memory addresses). It is typically performed during deserialization or loading of a relocatable object from a disk file, such as an or pointer-based data structure. The reverse operation, replacing memory pointers with position-independent symbols or positions, is sometimes referred to as unswizzling, and is performed during serialization (saving).
Arbre radixEn informatique, un arbre radix ou arbre PATRICIA (pour Practical Algorithm To Retrieve Information Coded In Alphanumeric en anglais et signifiant algorithme commode pour extraire de l'information codée en alphanumérique) est une structure de données compacte permettant de représenter un ensemble de mots adaptée pour la recherche. Il est obtenu à partir d'un arbre préfixe en fusionnant chaque nœud n'ayant qu'un seul fils avec celui-ci. On peut alors étiqueter indifféremment chaque arête par un mot ou bien par une unique lettre.
Linear probingLinear probing is a scheme in computer programming for resolving collisions in hash tables, data structures for maintaining a collection of key–value pairs and looking up the value associated with a given key. It was invented in 1954 by Gene Amdahl, Elaine M. McGraw, and Arthur Samuel and first analyzed in 1963 by Donald Knuth. Along with quadratic probing and double hashing, linear probing is a form of open addressing. In these schemes, each cell of a hash table stores a single key–value pair.
Collision (informatique)vignette|Schéma d'une collision entre deux résultats d'une fonction de hachage En informatique, une collision désigne une situation dans laquelle deux données ont un résultat identique avec la même fonction de hachage. Les collisions sont inévitables dès lors que l'ensemble de départ (données fournies) de la fonction de hachage est d'un cardinal strictement supérieur à l'ensemble d'arrivée (empreintes). Ce problème est une déclinaison du principe des tiroirs. La conséquence de ces collisions dépend de leurs applications.
YAMLYAML, acronyme de Yet Another Markup Language dans sa version 1.0, devient l'acronyme récursif de YAML Ain't Markup Language (« YAML n’est pas un langage de balisage ») dans sa version 1.1, est un format de représentation de données par sérialisation Unicode. Il reprend des concepts d'autres langages comme XML, ou encore du format de message électronique tel que documenté par RFC 2822. YAML a été proposé par Clark Evans en 2001, et implémenté par ses soins ainsi que par Brian Ingerson et Oren Ben-Kiki.