On vous donne un tableau de longueur . Chaque élément du tableau appartient à l'une des K classes. Vous êtes censé réorganiser le tableau en utilisant un nombre minimum d'opérations de swap afin que tous les éléments de la même classe soient toujours regroupés, c'est-à-dire qu'ils forment un sous- tableau contigu.
Par exemple:
Il reste trois autres dispositions valables.
Comment appelle-t-on ce problème dans la littérature? Existe-t-il un algorithme efficace pour cela?
terminology
reference-request
sorting
arrays
Marko Bukal
la source
la source
Réponses:
Remarque: C'est une preuve de dureté, et je pense qu'il existe des algorithmes pratiques comme la programmation entière, etc.
la source
Je soupçonne également que c'est NP-difficile, mais en l'absence d'une idée de preuve, voici quelques limites inférieures rapidement calculables qui pourraient être utiles pour vérifier l'optimalité d'une solution heuristique ou élaguer une recherche de branche et de liaison .
Dans votre exemple, ces bornes donnent toutes deux 1 (0,5 peut être arrondi dans ce dernier cas), ce qui est bien sûr lâche.
la source