Bonjour ,
Quel est l ' interet des listes chainées ?
Pourquoi créer une tel structure de données ,pourrais pas t on se servir d' un tableau à la place?
merci
Bonjour ,
Quel est l ' interet des listes chainées ?
Pourquoi créer une tel structure de données ,pourrais pas t on se servir d' un tableau à la place?
merci
Les listes chainées ont un coût d'insertions en fin (ou début) de liste constant.
Une ArrayList posséde un cout d'insertion variable et non négligeable lorsqu'elle doit se re-dimensionner (ce cout est fonction de la taille de la liste)
En contre partie, la liste chainée permet une itération séquentielle rapide mais une récuperation aléatoire (par index) désastreuse.
A chaque usage, sa structure.
Car dans une liste chainée, tu as une notion d' élément père & élément fils, ce qui peut s'avérer super utile dans certains algos
Ton message ne concerne pas vraiment Java qui n'utilise pas les pointeurs.
Mais sur le fond, une liste chaînée peut être une structure de données plus efficace qu'un tableau dans certaines circonstances. Par exemple, supprimer un élément au milieu d'un tableau nécessite de créer un nouveau tableau et d'y recopier le contenu sans l'élément à supprimer. C'est en revanche une structure non adapté à la recherche du dernier élément, qui oblige à parcourir toute la liste ...
Il existe énormément de littérature sur le sujet, doncs'impose.
par rapports aux pointeurs , une référence agit t elle pas comme un pointeur?
C'est "presque" la même chose pour une utilisation basique.
Un pointeur et une référence permettent d'accéder à une zone mémoire contenant un objet. Mais les pointeurs désignant directement une zone mémoire, il est possible de faire des calcul avec http://cpp.developpez.com/cours/cpp/?page=page_6#LVI-H
Partager