Structures de données et algorithmes
Les tâches A à E ont les contraintes d'ordre « A avant C », « B avant C », « C avant D », « B avant E » et « E avant D ». Quel ordre satisfait toutes les contraintes (résultat d'un tri topologique) ?
- AA, C, B, E, D
- BB, A, E, C, D
- CB, E, D, A, C
Afficher la réponse et l'explication
Réponse : B. B, A, E, C, D
Dans B, A, E, C, D, A et B viennent avant C, C et E avant D, et B avant E : les cinq contraintes sont respectées. A, C, B, E, D place C avant B, ce qui viole « B avant C », et B, E, D, A, C place D avant C, ce qui viole « C avant D ». Le tri topologique range les sommets d'un graphe orienté acyclique (DAG) de sorte que chaque arête aille d'un sommet antérieur vers un sommet postérieur ; on peut le réaliser en retirant de façon répétée un sommet sans arête entrante (algorithme de Kahn) ou par un parcours en profondeur. La réponse n'est pas toujours unique : cet exemple admet cinq ordres valides.
Continuer : 9 autres questions sur Structures de données et algorithmes