Maison >développement back-end >C++ >Comment générer tous les sous-ensembles d'un ensemble à l'aide d'un algorithme récursif ?
Générer tous les sous-ensembles d'un ensemble
Dans la détermination de tous les sous-ensembles d'un ensemble donné, le nombre d'éléments (n) joue un rôle crucial . Un algorithme efficace exploite des techniques récursives pour y parvenir.
Algorithme récursif
L'algorithme récursif fonctionne sur le principe selon lequel, pour chaque élément, les sous-ensembles peuvent être partitionnés en deux catégories : celles contenant l’élément et celles l’excluant. Autrement, ces deux partitions partagent des sous-ensembles identiques.
En commençant par n=1, nous avons deux sous-ensembles : {} (l'ensemble vide) et {1}.
Pour n>1, nous déterminons les sous-ensembles de 1,...,n-1 et dupliquez-les. Un ensemble aura n ajouté à chaque sous-ensemble, tandis que l'autre restera inchangé. L'union de ces deux ensembles donne l'ensemble complet des sous-ensembles.
Exemple illustratif
Générons les sous-ensembles de {1, 2, 3, 4, 5} :
Ainsi, nous arrivons aux 32 sous-ensembles de {1, 2, 3, 4, 5}.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!