MPSi Devoir Surveillé numéro 2
3.2 Représentation par une liste d’entiers
On représente un sous-ensemble de Nnpar une liste Ld’entiers ordonnée. Par exemple le sous-ensemble
{1,2,4,5}est représenté par la liste [1,2,4,5].
2 Que fait la fonction suivante ? Quel nom pourrait-on lui donner ?
1def union (L1 , L2) :
2 L=[]
3for iin range (n+1) :
4i f ( estdedans (L1 , i ) or estdedans (L2 , i )) :
5 L . append ( i )
6return L
Corrigé On renvoie la liste qui contient les éléments qui sont soit dans L1 soit dans L2. C’est donc l’union
des deux ensembles : on devrait appeler cette fonction union.
3 Ecrire un algorithme permettant de réaliser l’intersection de deux sous ensembles.
Corrigé On fait la même chose :
1def i n t e r s e c t i o n ( L1 , L2) :
2 L=[]
3for iin range (n+1) :
4i f ( estdedans (L1 , i ) and estdedans (L2 , i ) ) :
5 L . append ( i )
6return L
4 Ecrire un algorithme permettant de réaliser le complémentaire d’un sous-ensemble.
Corrigé On doit renvoyer les éléments qui ne sont pas dans la liste L:
1def complementaire (L1 ) :
2 L=[]
3for iin range (n+1) :
4i f not ( estdedans ( L1 , i )) :
5 L . append ( i )
6return L
3.3 Représentation binaire
On décide maintenant de représenter les sous-ensembles de Nnpar une liste de 0et de 1. Si Eest un
sous-ensemble de Nn, sa représentation est une liste LEde longueur n+ 1 : l’élément ide LEvaut 1si
i∈Eet 0sinon. Par exemple, le sous-ensemble {1,3,6}de N6est représenté par la liste [0,1,0,1,0,0,1].
5 Quelle est la représentation du sous-ensemble {2,3,4}de N5? Quelle est la représentation de {1,6}de
N7?
Corrigé Pour le premier on a [0,0,1,1,1,0]. Pour le second : [0,1,0,0,0,0,1,0].
6 Écrire un algorithme permettant de réaliser l’union de deux sous-ensembles de Nnpour cette représen-
tation.
Corrigé
1def union (L1 , L2) :
2 L=[]
3for iin range (n+1) :
4i f ( L1 [ i ]==1) or ( L2 [ i ]==1) :
5 L . append ( 1 )
DS no2 Lycée Montesquieu - 2013/2014
MPSi Devoir Surveillé numéro 2
6e l s e :
7 L . append ( 0 )
8return L
7 Écrire un algorithme permettant de réaliser l’intersection de deux sous-ensembles de Nnpour cette
représentation.
Corrigé
1def i n t e r s e c t i o n ( L1 , L2) :
2 L=[]
3for iin range (n+1) :
4 L . append ( L1 [ i ] ∗L2 [ i ] )
5return L
8 Écrire un algorithme permettant de calculer le complémentaire d’un sous-ensemble Ede Nn.
Corrigé
1def complementaire (L1 ) :
2 L=[]
3for iin range (n+1) :
4i f ( L1 [ i ]==1) :
5 L . append ( 0 )
6e l s e :
7 L . append ( 1 )
8return L
3.4 Représentation par des entiers
La représentation précédente doit vous faire penser à la représentation binaire des entiers. On peut effec-
tivement représenter les sous-ensembles par des entiers. Par exemple, le sous ensemble {0}de {0,1}est
représenté par l’entier 1, le sous-ensemble {1}de {0,1}est représenté par l’entier 2et le sous-ensemble
{0,1}de {0,1}est représenté par l’entier 3. On appellera cette représentation la représentation entière.
9 Quelle est la représentation de l’ensemble vide ?
Corrigé On choisit basiquement comme représentation 0pour l’ensemble vide.
10 Quel est le plus petit entier représentant un sous-ensemble de Nn? Quel est le plus grand entier
représentant un sous-ensemble de Nn?
Corrigé Le plus petit entier est évidemment 0. Le plus grand entier en 2n+1 −1qui représente l’ensemble
lui-même.
11 Vérifier que le sous-ensemble {1,3,6}de N6est représenté par l’entier 74.
Corrigé La représentation est [0,1,0,1,0,0,1,0]. Le nombre représenté ainsi en binaire est 2+8+64 =
74.
12 Quelle opération peut-on effectuer pour calculer le complémentaire d’un sous-ensemble de Nndans
cette représentation ?
Corrigé Si aest la représentation d’un sous ensemble A, alors la représentation du complémentaire de
Aest 2n+1 −1−a.
On peut montrer que l’opération d’intersection a une équivalence dans les entiers. Si Xet Ysont deux
sous-ensembles de Nn, de représentations respectives xet y, la représentation entière de X∩Yest donnée
par : n
X
k=0
2k x
2kmod 2 y
2kmod 2
Où bacreprésente la partie entière de a.
DS no2 Lycée Montesquieu - 2013/2014