Bonjour,

je cherche un algorithme simple et rapide pour différencier deux listes chaînées, Chaque block de la liste est de la forme

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
  type Block = {
    uid: string,
    name: string,
    value: string;
    next: string // UID du bloc suivant 
  }
Vu que les blocs représentent des attributs HTML, la différentiation peut porter sur les noms et les valeurs.

Je dispose des adresses (UID) de la lister d'entrée "oldAttrsUID" et de sortie "newAttrsUID" et les 3 opérations possibles sont PATCH_INSERT_ATTR, PATCH_UPDATE_ATTR et PATCH_DLEETE_ATTR.

Note en bout de liste le pointeur "next" vaut null...

QUESTION:

d'un point de vue complexité (en temps), vaut-il mieux :

- essayer de tout gérer dans deux boucles "while" imbriquées
- ou, itérer successivement sur les deux ensemble 'old' et "new" ?