Depuis dix ans que je programme, je peux compter sur une main le nombre de structures de données que j'ai utilisées : tableaux, listes chaînées (je mets dans le même sac les piles et les files d'attente) et dictionnaires. Ce n'est pas vraiment surprenant étant donné que presque toutes les applications que j'ai écrites tombent dans la catégorie des formulaires sur les données / CRUD.
Je n'ai jamais eu besoin d'utiliser un arbre rouge-noir, une liste de saut, une file d'attente à double extrémité, une liste liée circulairement, une file d'attente prioritaire, des tas, des graphes ou l'une des dizaines de structures de données exotiques qui ont fait l'objet de recherches au cours des 50 dernières années. J'ai l'impression de manquer quelque chose.
Il s'agit d'une question ouverte, mais où ces structures de données "exotiques" sont-elles utilisées dans la pratique ? Quelqu'un a-t-il une expérience réelle de l'utilisation de ces structures de données pour résoudre un problème particulier ?