Générer toutes les chaînes binaires de longueur n avec k bits

Quel est le meilleur algorithme pour trouver toutes les chaînes binaires de longueur n contenant k bits? Par exemple, si n=4 et k=3, il y a...

0111
1011
1101
1110

J'ai besoin d'un bon moyen pour générer ces donné tout n et tout k donc je préfère qu'on le fasse avec des chaînes.

  • Pour la recherche. Faire une analyse sur la mise en correspondance d'exclusion certain nombre de graphiques et j'ai besoin d'un moyen de tester tous les possible de bord de suppressions de k arêtes.
  • Si vous êtes inquiet au sujet de la performance (c'est à dire un grand n et k), vous voudrez sans doute envisager une programmation dynamique de l'approche.
  • ... surtout si c'est faisable de faire, et de mettre en cache (memoise) les résultats de l', une partie du bord de suppression sur un sous-ensemble de votre graphique, plutôt que la première génération de toutes les chaînes et ensuite de faire des choses avec eux. Cela permettrait de booster vos performances considérablement.
  • double possible de Création de plusieurs numéros avec un certain nombre de bits set
  • en.wikipedia.org/wiki/Combinatorial_number_system
InformationsquelleAutor kevmo314 | 2009-12-05