AccueilđŸ‡«đŸ‡·Chercher

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)[1]. Contrairement à la plupart des autres types de collections[2] 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[1]. 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[3] ou d'indexation[4], 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[5].

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

Notes et références

  1. Rudi Bruchez, Les bases de donnĂ©es NoSQL : Comprendre et mettre en Ɠuvre, Paris, Éditions Eyrolles, , 279 p. (ISBN 978-2-212-13560-2, lire en ligne), p. 172
  2. Constituent d'autres types de collections (de type conteners) les listes, les multiensembles, les arborescences et les graphes
  3. "Empaqueter", faire des paquets, consiste Ă  fournir un conteneur pour une agrĂ©gation d'objets afin de les transformer en un objet unique. Dans le cas d'un appel de fonction: sans paquet, une fonction ne peut ĂȘtre appelĂ©e Ă  agir sur une chaĂźne qu'en passant en revue chaque Ă©lĂ©ment du groupe comme argument sĂ©parĂ©, ce qui complique considĂ©rablement l'exĂ©cution de la fonction (et est tout simplement pas possible dans certains langages de programmation). En regroupant les Ă©lĂ©ments en un ensemble, la fonction peut maintenant ĂȘtre appelĂ©e sur un argument unique, Ă©lĂ©mentaire : l'ensemble d'objets (bunch's package en anglais).
  4. L'indexation est possible lorsque les Ă©lĂ©ments envisagĂ©s sont totalement ordonnĂ©s. En l'absence d'ordre, les Ă©lĂ©ments d'un multi-ensemble (par exemple) ne prĂ©sentent pas de relations telles qu'infĂ©rieures/supĂ©rieures, ou prĂ©cĂ©dents/ suivants un autre Ă©lĂ©ment : ils ne peuvent ĂȘtre comparĂ©s qu'en termes absolus (identiques/diffĂ©rents)
  5. Eric C.R. Hehner [a Practical Theory of Programming http://www.cs.utoronto.ca/~hehner/aPToP/aPToP.pdf] p. 14

Articles connexes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.