Afficher toutes les combinaisons possibles de k éléments dans un tableau donné de taille n

27 Apr 2019 27 Apr 2019 13670 vues ESSADDOUKI Mostafa 6 min de lecture

Génération de toutes les combinaisons possibles de k éléments

Définition

Une combinaison est une sélection d'éléments sans tenir compte de l'ordre. Étant donné un tableau de taille n, nous souhaitons générer et afficher toutes les combinaisons possibles de k éléments.

Exercice

Afficher toutes les combinaisons possibles de k éléments dans un tableau donné de taille n

Étant donné un tableau de taille n, générer et afficher toutes les combinaisons possibles de k éléments.

Exemple
Entrée
tab = [1, 2, 3, 4]
k = 2
Sortie
{1, 2}
{1, 3}
{1, 4}
{2, 3}
{2, 4}
{3, 4}
Explication : Toutes les combinaisons possibles de 2 éléments pris dans l'ensemble {1, 2, 3, 4} sont listées sans répétition.
Extension

Gestion des doublons dans les combinaisons

La méthode ci-dessus ne gère pas les doublons. Par exemple, si le tableau d'entrée est {1, 2, 1} et k est égal à 2, le programme affiche {1, 2} et {2, 1} comme deux combinaisons différentes, alors qu'elles sont identiques.

Problème des doublons
Entrée
tab = [1, 2, 1]
k = 2
Sortie (non désirée)
{1, 2}
{2, 1}
Points clés à retenir
  • Une combinaison est une sélection d'éléments sans considération d'ordre.
  • La génération de combinaisons se fait naturellement par récursivité.
  • On utilise un tableau temporaire pour construire chaque combinaison.
  • La condition fin - i + 1 >= k - courant optimise la recherche en évitant les branches impossibles.
  • Pour éviter les doublons, il faut :
    • Trier le tableau initial
    • Sauter les éléments identiques lors de la récursion
Sortie
// La sortie apparaîtra ici…
Prêt · Ctrl+Entrée pour exécuter

Discussion (0)

Soyez le premier à laisser un commentaire !

Laisser un commentaire

Votre commentaire sera visible après modération.