Quelle est la différence entre un tableau et une liste chaînée

Table des matières:

Anonim

Les différence principale entre le tableau et la liste liée est que Array alloue de la mémoire au moment de la compilation, qui est le moment de déclarer le tableau, tandis que Linked List alloue de la mémoire au moment de l'exécution, qui est le moment d'ajouter des éléments à la liste chaînée.

Un tableau est une structure de données qui contient un groupe d'éléments du même type de données. Un tableau est prédéfini. En d'autres termes, il a une longueur fixe. D'autre part, une liste chaînée est une structure de données linéaire qui considère chaque élément comme un objet distinct. Il a une longueur dynamique. Par conséquent, il est possible de l'augmenter ou de le diminuer au moment de l'exécution.

Tableau, liste chaînée

Qu'est-ce qu'un tableau

Un tableau est une structure de données qui a une taille fixe. Il peut stocker des éléments du même type. Lorsqu'il existe plusieurs éléments du même type, il n'est pas possible de stocker chacun d'eux en tant que variables distinctes. Un tableau fournit une alternative à ce problème. Il stocke tous les éléments comme un seul élément. Par exemple, double salaire [10]; déclare un tableau appelé salaire qui peut stocker 10 valeurs doubles. Cette taille de tableau est de 10. Par conséquent, le programmeur ne peut pas stocker plus de 10 éléments dans ce tableau.

L'indice du 1st élément du tableau est 0. S'il y a 10 éléments dans le tableau, l'indice du dernier élément est 9. Tous les éléments du tableau sont dans des emplacements mémoire contigus. L'adresse la plus basse correspond au premier élément tandis que l'adresse la plus élevée correspond au dernier élément. De plus, il est possible d'effectuer des opérations telles qu'insérer, supprimer, modifier des éléments, parcourir le tableau et fusionner des tableaux.

Qu'est-ce qu'une liste chaînée

La liste chaînée est une structure de données linéaire qui contient un groupe de nœuds dans une séquence. Chaque nœud se compose de ses propres données et de l'adresse d'un autre nœud. Il peut stocker l'adresse du nœud suivant, ou à la fois le nœud suivant et le nœud précédent. Les éléments sont liés entre eux et forment une structure semblable à une chaîne. Le principal avantage d'une liste chaînée est qu'elle est dynamique. Contrairement à un tableau, il n'est pas nécessaire d'allouer initialement toute la mémoire requise. Au lieu de cela, une liste chaînée permet d'allouer de la mémoire si nécessaire.

D'un autre côté, une liste chaînée nécessite plus de mémoire car elle stocke les adresses d'autres nœuds. Dans une liste chaînée, il n'est pas possible d'accéder à un élément de manière aléatoire à la fois. Le programmeur doit parcourir chaque nœud de manière séquentielle pour accéder à un élément particulier. De plus, il est difficile d'effectuer un parcours inverse dans la liste chaînée.

Différence entre tableau et liste chaînée

Définition

Un tableau est une structure de données constituée d'une collection d'éléments identifiés chacun par l'indice de tableau alors qu'une liste chaînée est une collection linéaire d'éléments de données dont l'ordre n'est pas donné par leur emplacement en mémoire. C'est donc la principale différence entre un tableau et une liste chaînée.

Accéder aux éléments

Un tableau prend en charge l'accès aléatoire. Par conséquent, le programmeur peut accéder directement à un élément du tableau en utilisant l'index. La liste liée prend en charge l'accès séquentiel. Par conséquent, le programmeur doit parcourir séquentiellement chaque élément ou nœud jusqu'à atteindre l'élément requis. C'est donc une différence importante entre un tableau et une liste chaînée.

Emplacements de mémoire

Les emplacements de mémoire sont une autre différence entre un tableau et une liste liée. Les éléments d'un tableau sont stockés dans des emplacements mémoire contigus. D'autre part, les éléments de la liste chaînée peuvent être stockés n'importe où dans la mémoire. Il n'est pas nécessaire de stocker des éléments dans des emplacements mémoire contigus.

Taille

Allocation de mémoire

De plus, dans un tableau, l'allocation de mémoire se produit au moment de la compilation. Il s'agit d'une allocation de mémoire statique. Cependant, dans une liste chaînée, l'allocation de mémoire se produit au moment de l'exécution. Il s'agit d'une allocation dynamique de mémoire. C'est donc une autre différence entre un tableau et une liste chaînée.

Dépendance entre les éléments

De plus, les éléments d'un tableau sont indépendants les uns des autres alors qu'un élément ou un nœud dans une liste chaînée pointe vers le nœud suivant ou vers le nœud suivant et le nœud précédent.

Conclusion

Les tableaux et les listes chaînées aident à stocker les données de manière linéaire. le différence principale entre Array et Linked List est que Array alloue de la mémoire au moment de la compilation, qui est le moment de déclarer le tableau tandis que Linked List alloue de la mémoire à l'exécution, qui est le moment d'ajouter des éléments à la liste chaînée.

Référence:

1. « Introduction aux listes chaînées ». Types de topologie de réseau dans les réseaux informatiques | Studytonight, disponible ici. 2. Types de topologie de réseau dans les réseaux informatiques | Studytonight, disponible ici.

Image de courtoisie:

1. « Array2 » par Aucun auteur lisible par machine fourni. Jarkko Piiroinen a supposé (basé sur des revendications de droit d'auteur). – Aucune source lisible par machine fournie. Propre travail assumé (basé sur des revendications de droit d'auteur) (domaine public) via Commons Wikimedia 2. "CPT-LinkedLists-addingnode" par Singly_linked_list_insert_after.png: Derrick Coetzeederivative work: Pluke (discussion) - Singly_linked_list_insert_after.png (domaine public) via Commons Wikimedia

Quelle est la différence entre un tableau et une liste chaînée