Tableau dynamique et liste chaînée
Deux façons de ranger une suite : le tableau qui double sa capacité quand il est plein et la liste chaînée. Pour chacune, le coût de l'accès, de l'insertion et de la suppression en tête, au milieu et en fin, coût amorti compris.
- 25 cartes
- 6 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Les chiffres
- Mises en situation
- Comprendre
Quelques cartes du deck
Tableau dynamique : de quoi s'agit-il ?
Voir la réponse
Suite rangée dans une zone mémoire contiguë qui, une fois pleine, est recopiée dans une zone deux fois plus grande.
C'est le
listde Python et l'ArrayListde Java. L'accès par indice est direct, mais insérer en tête décale tous les éléments.Ce code insère
nouveauaprèsprecdans une liste chaînée. Que devient la liste ?
```python
nouveau = Maillon(7)
prec.suivant = nouveau
nouveau.suivant = prec.suivant`nouveaupointe sur lui-même et la suite est perdue- Elle est correcte :
7s'insère aprèsprec nouveauest inséré, maisprecperd son lien vers lui- Python lève une exception :
suivantn'existe pas encore
Voir la réponse
nouveaupointe sur lui-même et la suite est perdueÀ la ligne 3,
prec.suivantvaut déjànouveau: on écritnouveau.suivant = nouveau, et l'ancien suivant deprecn'est plus référencé. Il faut d'abordnouveau.suivant = prec.suivant, puisprec.suivant = nouveau.Quand un tableau dynamique plein reçoit un ajout, il alloue une zone de capacité … et y … tous ses éléments.
Voir la réponse
Quand un tableau dynamique plein reçoit un ajout, il alloue une zone de capacité double et y recopie tous ses éléments.
Agrandir d'une case seulement à chaque fois forcerait une recopie à chaque ajout : n ajouts coûteraient de l'ordre de n². Le doublement espace les recopies.
Capacité d'un tableau dynamique : de quoi s'agit-il ?
Voir la réponse
Nombre de cases réservées en mémoire, qui peut dépasser le nombre d'éléments réellement rangés.
La taille compte les éléments présents, la capacité compte les cases disponibles. La recopie n'a lieu que lorsque la taille atteint la capacité.