J'ai un ensemble de listes d'événements. Les événements se produisent toujours dans un ordre donné, mais pas chaque événement arrive toujours. Voici un exemple d'entrée:
[[ do, re, fa, ti ],
[ do, re, mi ],
[ do, la, ti, za ],
[ mi, fa ],
[ re, so, za ]]
Les valeurs d'entrée ne sont pas d'ordre inhérent. Ils sont en fait des messages tels que « créer des liens symboliques » et « réindexation recherche ». Ils sont classés dans la liste individuelle, mais il n'y a aucun moyen de regarder seulement « fa » dans la première liste et « mi » dans la seconde et de déterminer qui vient avant l'autre.
Je voudrais être en mesure de prendre cette entrée et générer une liste triée de tous les événements:
[ do, re, mi, fa, so, la, ti, za ]
ou mieux encore, des informations sur chaque événement, comme un nombre:
[ [do, 3], [re, 3], [mi, 2],
[fa, 2], [so, 1], [la, 1],
[ti, 1], [za, 2] ]
Y at-il un nom pour ce que je fais? Y at-il des algorithmes acceptés? J'écris ceci en Perl, si cela importe, mais pseudocode ferai.
Je sais que , compte tenu de mon entrée exemple, je ne peut probablement pas être garantie de l'ordre « droit ». Mais mon entrée réelle a des tonnes plus datapoints, et je suis convaincu que certains l' intelligence , ce sera 95% à droite ( ce qui est vraiment tout ce que je dois). Je ne veux pas réinventer la roue si je n'ai pas.













