Obtention du Powerset d'un ensemble en Java avec une complexité optimale
Le Powerset d'un ensemble est la collection de tous les sous-ensembles de cet ensemble. Pour un ensemble de n éléments, l'ensemble de puissances contient 2^n sous-ensembles.
Considérons un ensemble Java :
1 2 3 4 |
|
Nous voulons écrire une fonction, getPowerset, pour générer l'ensemble de puissances de cet ensemble. La complexité idéale pour cette opération est O(2^n).
Une implémentation possible utilisant les génériques et les ensembles de Java est :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
Cette solution récursive parcourt les éléments de l'ensemble, les ajouter à chaque sous-ensemble et générer un nouveau sous-ensemble. Il maintient systématiquement l'ensemble des puissances des éléments restants.
Un test simple utilisant l'exemple d'entrée donne le résultat attendu :
1 2 3 |
|
Sortie :
1 2 3 4 5 6 7 8 |
|
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!