Ik heb een set van de lijsten van evenementen kregen. De gebeurtenissen altijd gebeuren in een bepaalde volgorde, maar niet elke gebeurtenis gebeurt altijd. Hier is een voorbeeld ingang:
[[ do, re, fa, ti ],
[ do, re, mi ],
[ do, la, ti, za ],
[ mi, fa ],
[ re, so, za ]]
De invoerwaarden hebben geen inherente volgorde. Ze zijn eigenlijk berichten als het creëren van symbolische links en indexeren zoeken. Ze zijn gesorteerd in de afzonderlijke lijst, maar er is geen manier om te kijken naar alleen 'fa' in de eerste lijst en 'mi' in de tweede en bepalen welke komt voor de andere.
Ik zou graag in staat zijn om die ingang te nemen en het genereren van een gesorteerde lijst van alle evenementen:
[ do, re, mi, fa, so, la, ti, za ]
of beter nog, wat informatie over elke gebeurtenis, zoals een telling:
[ [do, 3], [re, 3], [mi, 2],
[fa, 2], [so, 1], [la, 1],
[ti, 1], [za, 2] ]
Is er een naam voor wat ik doe? Zijn er geaccepteerd algoritmen? Ik schrijf dit in Perl, als die kwesties, maar pseudocode zal doen.
Ik weet dat gezien mijn voorbeeld input, ik waarschijnlijk niet kan worden gegarandeerd van de juiste volgorde. Maar mijn echte ingang heeft tonnen meer datapunten, en ik ben ervan overtuigd dat met enige slimheid het zal 95% gelijk te hebben (dat is echt alles wat ik nodig heb). Ik wil niet opnieuw het wiel uitvinden als ik niet hoeft te doen.













