Ensemble (informatique)
# Ensemble (informatique)

En informatique, un ensemble ou set est un type abstrait qui peut stocker certaines valeurs, sans ordre particulier, et sans répétition. Il s'agit d'une mise en œuvre informatique de la notion mathématique d'ensemble fini.

## Description

Un ensemble stocke des valeurs, sans ordre défini, et ne contient pas de données en double (la tentative d'insertion d'une donnée déjà présente est sans effet). Contrairement à la plupart des autres types de collections les ensembles sont plus utilisés pour tester l'appartenance d'une valeur à cet ensemble que pour en extraire des données.

## Structure de données

Certaines structures de données de type ensemble sont conçues pour être statiques (ou « gelées ») : elles ne peuvent pas être modifiées après leur conception. Ces ensembles statiques ne permettent que des opérations de requête sur leurs éléments — telles que vérifier si une valeur donnée est présente dans l'ensemble, ou énumérer les valeurs dans un ordre arbitraire. Il existe généralement sur les serveurs les supportant des opérateurs tels qu'union, intersection et différence permettant des opérations de requête rapides. D'autres variantes, appelées ensembles dynamiques ou modifiables, permettent également l'insertion et la suppression d'éléments de l'ensemble.

Une structure de données de type abstrait est une collection, ou agrégat, de données. Les données peuvent être des opérateurs booléens, des nombres, des caractères ou autres structures de données. Si l'on prend en compte les fonctionnalités d'empaquetage ou d'indexation, il existe quatre grandes structures de données :

* non empaquetée, non indexée: collection d'objets (bunch)
* empaquetée, non indexée : ensemble
* non empaquetée, indexée : chaîne (séquence)
* empaquetée, indexée : liste (array).

Dans cette structuration, les ensembles contiennent des éléments, alors que la collection d'objets consiste en ces éléments.

Une structure de données probabiliste implémentant ce type est le filtre de Bloom.

