Table de hachageUne table de hachage est, en informatique, une structure de données qui permet une association clé–valeur, c'est-à-dire une implémentation du type abstrait tableau associatif. Son but principal est de permettre de retrouver une clé donnée très rapidement, en la cherchant à un emplacement de la table correspondant au résultat d'une fonction de hachage calculée en O(1). Cela constitue un gain de temps très important pour les grosses tables, lors d'une recherche ou d'un besoin d'accès aux données en utilisant la clé définie.
Fonction de hachageQuand il s'agit de mettre dans un tableau de taille raisonnable (typiquement résidant dans la mémoire principale de l'ordinateur) un ensemble de données de taille variable et arbitraire, on utilise une fonction de hachage pour attribuer à ces données des indices de ce tableau. Par conséquent, une fonction de hachage est une fonction qui associe des valeurs de taille fixe à des données de taille quelconque. Les valeurs renvoyées par une fonction de hachage sont appelées valeurs de hachage, codes de hachage, résumés, signatures ou simplement hachages.
Fonction de hachage parfaitdroite|vignette|240x240px| Une fonction de hachage parfait pour les quatre noms John Smith, Lisa Smith, Sam Doe et Sandra Dee. droite|vignette|240x240px| Une fonction de hachage parfait minimal pour les quatre noms John Smith, Lisa Smith, Sam Doe et Sandra Dee. En informatique, une fonction de hachage parfait h pour un ensemble S est une fonction de hachage qui associe des éléments distincts de S à un ensemble de m entiers, sans collisions. En termes mathématiques, c'est une fonction injective.
Hachage universelEn mathématiques et en informatique, le hachage universel, en anglais universal hashing, (dans un algorithme probabiliste ou un bloc de données) est une méthode qui consiste à sélectionner aléatoirement une fonction de hachage dans une famille de fonctions de hachages qui ont certaines propriétés mathématiques. Cela permet de minimiser la probabilité de collision de hachage. Plusieurs familles de fonctions de hachages sont connues (pour hacher des entiers, des chaînes de caractères ou des vecteurs), et leur calcul est souvent très efficace.
Fonction de hachage cryptographiqueUne fonction de hachage cryptographique est une fonction de hachage qui, à une donnée de taille arbitraire, associe une image de taille fixe, et dont une propriété essentielle est qu'elle est pratiquement impossible à inverser, c'est-à-dire que si l'image d'une donnée par la fonction se calcule très efficacement, le calcul inverse d'une donnée d'entrée ayant pour image une certaine valeur se révèle impossible sur le plan pratique. Pour cette raison, on dit d'une telle fonction qu'elle est à sens unique.
Cuckoo hashingCuckoo hashing is a scheme in computer programming for resolving hash collisions of values of hash functions in a table, with worst-case constant lookup time. The name derives from the behavior of some species of cuckoo, where the cuckoo chick pushes the other eggs or young out of the nest when it hatches in a variation of the behavior referred to as brood parasitism; analogously, inserting a new key into a cuckoo hashing table may push an older key to a different location in the table.
Recherche dichotomiqueLa recherche dichotomique, ou recherche par dichotomie (), est un algorithme de recherche pour trouver la position d'un élément dans un tableau trié. Le principe est le suivant : comparer l'élément avec la valeur de la case au milieu du tableau ; si les valeurs sont égales, la tâche est accomplie, sinon on recommence dans la moitié du tableau pertinente. Le nombre d'itérations de la procédure, c'est-à-dire le nombre de comparaisons, est logarithmique en la taille du tableau.
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.
Recherche séquentiellevignette|Diagramme de recherche séquentielle La recherche séquentielle ou recherche linéaire est un algorithme pour trouver une valeur dans une liste. Elle consiste simplement à considérer les éléments de la liste les uns après les autres, jusqu'à ce que l'élément soit trouvé, ou que toutes les cases aient été lues. Elle est aussi appelée recherche par balayage. La recherche séquentielle consiste à prendre les éléments de la liste les uns après les autres, jusqu'à avoir trouvé la cible, ou avoir épuisé la liste.
Table de hachage distribuéeUne table de hachage distribuée (ou DHT pour Distributed Hash Table), est une technique permettant la mise en place d’une table de hachage dans un système réparti. Une table de hachage est une structure de données de type clé → valeur. Chaque donnée est associée à une clé et est distribuée sur le réseau. Les tables de hachage permettent de répartir le stockage de données sur l’ensemble des nœuds du réseau, chaque nœud étant responsable d’une partie des données.
CollisionUne collision est un choc direct entre deux objets. Un tel impact transmet une partie de l'énergie et de l'impulsion de l'un des corps au second. Collision élastique Les collisions élastiques, aussi appelées « chocs durs », se caractérisent par leur absence de perte d'énergie et de déformation. Elles sont impossibles à réaliser sauf au niveau atomique. La plupart du temps, on a donc des collisions quasi élastiques. Collision inélastique Les collisions inélastiques sont les collisions les plus fréquentes et surviennent lorsqu'il y a une perte d'énergie lors de la collision.
Injection (mathématiques)Une application f est dite injective ou est une injection si tout élément de son ensemble d'arrivée a au plus un antécédent par f, ce qui revient à dire que deux éléments distincts de son ensemble de départ ne peuvent pas avoir la même par f. Lorsque les ensembles de départ et d'arrivée de f sont tous les deux égaux à la droite réelle R, f est injective si et seulement si son graphe intersecte toute droite horizontale en au plus un point. Si une application injective est aussi surjective, elle est dite bijective.
Collision inélastiqueUne collision inélastique est une collision au cours de laquelle l'énergie cinétique des corps qui entrent en collision est totalement ou en partie convertie en énergie interne dans au moins un des corps. Ainsi, l'énergie cinétique n'est pas conservée. La non-conservation de l'énergie cinétique peut dans le cas d'un choc de corps macroscopiques être due à une déformation des deux corps qui se heurtent : la déformation d'une boule de pâte à modeler heurtant une boule de pétanque, par exemple, consomme de l'énergie sous forme de travail.
Fonction partiellevignette|Exemple d'une fonction partielle En mathématiques, une fonction partielle (quelquefois appelée simplement fonction) sur un ensemble donné E est une application définie sur une partie de celui-ci, appelé ensemble de définition (ou domaine de définition) de la fonction partielle.
Hachage cohérentLe hachage cohérent est un type particulier de hachage. Lorsque la table de hachage change de taille et que le hachage cohérent est employé, seulement clés ont besoin d’être redistribuées en moyenne, où est le nombre de clés et est le nombre d'éléments dans la table de hachage. En comparaison, dans une table de hachage classique, un changement dans le nombre d'éléments de la table a pour conséquence la réorganisation de l'ensemble ou presque des clés. À l'origine conçue par Karger et coll.
Collision frontalethumb|Une collision frontale de deux voitures. Une collision frontale, ou un choc frontal est une collision qui voit les extrémités avant de deux véhicules se percuter en premier. Ce type de collision est extrêmement dramatique en raison de l'énergie générée par le choc. Pour cette raison, les véhicules devant circuler vite bénéficient de routes à chaussées séparées, notamment autoroute ou route express, qui sont censées éviter les chocs frontaux.
Choc élastiqueUn choc élastique est un choc entre deux corps qui n’entraîne pas de modification de leur état interne, notamment de leur masse. Dans un tel choc, l'énergie cinétique est conservée. La diffusion des corps, ponctuels ou non, à la suite d'un choc élastique dépend de la loi d'interaction qui intervient au moment du choc et de leur position réciproque pendant ce choc. Dans une diffusion élastique, la notion de section efficace apparaît dans l'étude de la dispersion des particules et les forces qui interviennent entre les particules incidentes peuvent ainsi être étudiées.
Address spaceIn computing, an address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, a memory cell or other logical or physical entity. For software programs to save and retrieve stored data, each datum must have an address where it can be located. The number of address spaces available depends on the underlying address structure, which is usually limited by the computer architecture being used.
Accident de la routevignette|Accident de la route à une intersection. thumb|Nettoyage de la chaussée après un accident de voitures frontal sur l'avenue Charles-de-Gaulle à Ouagadougou. Un accident de la route (ou accident sur la voie publique : AVP, ou en France accident de la circulation) est une collision non intentionnelle, qui a lieu sur le réseau routier entre un engin roulant (notamment automobile, camion, moto, vélo) et tout autre véhicule ou personne ou animal, se déplaçant ou non, qui engendre au moins des dégâts matériels, voire des traumatismes ou le décès d'une ou plusieurs personnes impliquées.
Bijection réciproqueEn mathématiques, la bijection réciproque (ou fonction réciproque ou réciproque) d'une bijection est l'application qui associe à chaque élément de l'ensemble d'arrivée son unique antécédent par . Elle se note . On considère l'application de vers définie par . Pour chaque réel y, il y a un et un seul réel x tel que , ainsi pour = 8, le seul convenable est 2, en revanche, pour = –27 c'est –3. En termes mathématiques, on dit que est l'unique antécédent de et que est une bijection.