Placer (de l\'informatique)

Dans le de l'informatique, un réglé est une collection (récipient ) de certaines valeurs, sans n'importe quel ordre particulier , et aucunes valeurs répétées. Il correspond à un ensemble fini dans les mathématiques. Abstraction faite de l'ordre , et du fait qu'il n'y a aucune valeur répétée, c'est pareil comme liste . Un ensemble peut être vu comme rangée associative (cartographie partielle) de dans laquelle la valeur de chaque paire de clef-valeur est ignorée.

Réalisations

Des ensembles peuvent être mis en application using le divers idéal des structures de données les structures de données que réglées le rendent efficace pour vérifier si un objet est dans l'ensemble, aussi bien que permettre d'autres opérations utiles telles que l'itération par tous les objets dans l'ensemble, effectuant une union ou une intersection de deux ensembles, ou prenant le complément d'un ensemble dans un certain domaine limité. N'importe quel la structure de données qu'associative de la rangée peut être employée pour mettre en application un ensemble en laissant l'ensemble de clefs soit les éléments de l'ensemble et d'ignorer les valeurs. En raison de la similitude aux rangées associatives, des ensembles sont généralement mis en application des mêmes manières, à savoir, un Individu-équilibrant l'arbre de recherche binaire pour les ensembles assortis (qui a O (notation n) pour la plupart des opérations), ou une table de brouillage pour les ensembles non triés (qui a O (1) moyen-cas, mais O (n) des cas les pires, pour la plupart des opérations). Une table de brouillage linéaire assortie peut être employée pour fournir les ensembles de manière déterministe commandés.

D'autres méthodes populaires incluent les rangées en particulier un sous-ensemble des nombres entiers 1. le n peut être mis en application efficacement comme n - la rangée de peu de de peu , qui soutiennent également des opérations très efficaces des syndicats et d'intersection. Une carte de fleur de met en application un ensemble probabilistically, using une représentation très compacte mais risquer une petite possibilité des positifs faux sur des questions.

Cependant, très peu de ces structures de données soutiennent des opérations réglées telles que l'union ou l'intersection efficacement. Pour ces opérations, les structures de données réglées plus spécialisées existent.

Appui de langue

Une des langues les plus tôt pour soutenir des ensembles était Pascal ; beaucoup de langues l'incluent maintenant, si dans la langue de noyau ou dans une bibliothèque standard . Le langage de programmation de Java offre l'interface aux ensembles de soutien (avec la classe la mettant en application using une table de brouillage), et le sub-interface à l'appui assorti place (avec la classe le mettant en application using un arbre de recherche binaire). Dans le C++ , le STL fournit le " ; set" ; classe du calibre , qui met en application un ensemble assorti using un arbre de recherche binaire ; et le STL du SGI fournit le " ; hash_set" ; classer, qui met en application un ensemble using une table de brouillage. Le python n'a un type intégré d'ensemble, mais aucune coquille d'ensemble.

Multi-ensemble

Une variation de l'ensemble est le multi-ensemble de de ou le sac , qui sont identique que des structures de données d'ensemble, mais permet des valeurs répétées. Formellement, un multi-ensemble peut être considéré comme rangée associative que les éléments uniques de cartes aux nombres entiers positifs indiquant le mulplicity de l'élément, bien que l'exécution réelle puisse varier. La bibliothèque standard de calibre de C++ fournit le " ; multiset" ; classer pour le multi-ensemble assorti, et le STL du SGI fournit le " ; hash_multiset" ; classer, qui met en application un ensemble using une table de brouillage. Les collections des terrains communaux d'Apache de fournit l'interface de sac et de SortedBag pour le Java ; avec mettre en application des classes aimer HashBag et TreeBag, analogues aux réalisations réglées semblable-appelées.
Random links:14h Topol de droite | Dur, l'Autriche | Bourdonnement de page | Dossiers légaux | Balises de Boston | Fijar_(de_informática)