Liste (calcul)

le

cet article est au sujet de la liste de mots comme utilisé dans de l'informatique. Pour d'autres usages, voir le énumérer (désambiguisation) .

Dans le de l'informatique, une liste est une collection d'entités /d'articles

Dans le cadre des langages de programmation orientée objectivement une liste de est définie comme exemple d'un type de données abstrait (ADT), formalisant le concept d'une collection commandée par de d'entités . Par exemple, un ADT pour non classé, listes mutables du peut être spécifié en termes de constructeur et quatre opérations

un constructeur pour créer une liste vide ;
une opération pour l'essai si une liste est vide ;
une opération pour ajouter une entité à une liste
une opération pour déterminer le premier composant (ou le " ; head" ;) d'une liste
une opération pour se rapporter à la liste se composant de tous les composants d'une liste excepté son première (ou de son " ; tail" ;)

Dans la pratique, des listes sont habituellement mises en application using les rangées ou les listes chaînées d'une certaine sorte ; en raison des listes partageant certaines propriétés avec des rangées et des listes chaînées. Officieusement, la liste de termes est parfois employée synonyme avec la liste chaînée . Un ordre est un autre nommé, soulignant l'ordre et suggérer que ce puisse ne pas être une liste chaînée.

Caractéristiques

Les listes ont les propriétés suivantes :
La taille du énumère . Elle indique combien d'éléments là sont dans la liste.
Égalité des listes :
Dans les mathématiques, parfois l'égalité des listes est définie simplement en termes d'identité d'objet de : deux listes sont égales si et seulement si elles sont le même objet.
Dans des langages de programmation modernes de égalité que de des listes est normalement défini en termes d'égalité structurale des entrées de correspondance, sauf que si les listes sont dactylographiées, alors les types de liste peut également être approprié.
Les listes peuvent être dactylographiés par . Ceci implique que les entrées dans une liste doivent avoir les types qui sont compatibles avec le type de la liste. Il est commun que des listes soient dactylographiées quand elles sont mises en application using des rangées.
Chaque élément dans la liste a un index . Le premier élément a nombre entier prédéfini d'index 0 (ou quelque autre). Les éléments suivants ont des index qui sont 1 plus haut que l'élément précédent. Le dernier élément a l'index (index initial) + le − 1.
Il est possible de rechercher l'élément à un index particulier.
Il est possible de traverser la liste dans l'ordre de l'index d'augmentation.
Il est possible de changer l'élément à un index particulier en valeur différente, sans n'affecter aucun autre élément.
Il est possible d'insérer un élément à un index particulier. Les index des éléments à des index plus élevés sont augmentés de 1.
Il est possible d'enlever un élément à un index particulier. Les index des éléments à des index plus élevés sont diminués de 1.

Applications

Pendant que le nom implique, des listes peuvent être employées pour stocker une liste de disques. Les articles dans une liste peuvent être assortis ou non triés afin de la recherche rapide (recherche dichotomique par exemple) ou jeûner s'insérant.

Réalisations

Il y a deux manières principales de mettre en application des listes : Les listes chaînées (séparément ou double-lié) et les rangées dynamiques voient ces articles pour plus d'information.

Dans le blèsent , les listes sont le type de données fondamental et peuvent représenter le code et les données de programme. Dans la plupart des dialectes, la liste des trois premiers nombres premiers pourrait être écrite comme (liste 2 3 5). Dans plusieurs dialectes de blèsent, y compris l'arrangement , une liste est une collection de paires, se composant d'une valeur et d'un indicateur aux prochaines paires (ou à la valeur nulle), faisant une liste simple-liée.

La manière standard de mettre en application des listes, commençant avec blèsent, sont de faire contenir chaque élément de la liste sa valeur et un indicateur indiquant l'endroit du prochain élément dans la liste. Ceci a comme conséquence une liste chaînée ou un arbre , selon si la liste a niché des sous-listes. Cependant, quelques réalisations de LISP (telles que le LISP utilisé pour le Symbolics 3600) emploient souvent le " ; lists" comprimé ; ce qui sont des rangées.

Quelques langues n'offrent pas une structure de données de de liste , mais offrent l'utilisation des rangées associatives ou d'un certain genre de table d'émuler des listes. Par exemple, le Lua fournit des tables. Bien que Lua stocke les listes qui ont des index numériques en tant que rangées intérieurement, elles apparaissent toujours comme tables de brouillage.

Les listes d'instrument de quelques langues using le range

Des listes peuvent être manoeuvrées using l'itération ou la récursion . L'ancien est souvent preferred dans des langues Queue-récursives du non- , et des langues dans lesquelles la récursion au-dessus des listes est pour une autre raison inconfortable. Ce dernier est généralement preferred dans les langues fonctionnelles puisque l'itération est associée aux rangées et souvent considérée comme le impératif.

Puisque dans le calcul, il est plus facile réaliser des listes que des ensembles, un fini réglé dans le sens mathématique peut être réalisé comme liste avec des restrictions additionnelles, c., des éléments doubles sont rejetés et tels que l'ordre est non pertinent. Si la liste est assortie, elle accélère déterminer si un article donné est déjà dans l'ensemble mais afin d'assurer l'ordre, il a besoin de plus d'heure d'ajouter la nouvelle entrée à la liste. Dans des réalisations efficaces, cependant, des ensembles sont mis en application using le Individu-équilibrant les arbres de recherche binaire ou les tables de brouillage plutôt qu'une liste.

Être-x-vieux : Сьпіс .

Random links:800s AVANT JÉSUS CHRIST | Mardi gras gai de Sydney et de lesbienne | Banlieue noire de Clinton, comté de Venango, Pennsylvanie | Le retour (série télévisée) | Le Riverkeepers | Lista_(computación)