• Aucun résultat trouvé

(1)# Q1 Il y en a 5

N/A
N/A
Protected

Academic year: 2022

Partager "(1)# Q1 Il y en a 5"

Copied!
3
0
0

Texte intégral

(1)

# Q1 Il y en a 5 :

# (0,2), (1,2), (1,3), (1,5), (4,5)

# Q2

def tri_bulle(L):

n = len(L)

for i in range(n-1, 0, -1):

for j in range(n-1, n-i-1, -1):

if L[j] < L[j-1]:

L[j], L[j-1] = L[j-1], L[j]

# Q4

def nombre_inversions(L):

L1 = L[:]

n = len(L1) compteur = 0

for i in range(n-1, 0, -1):

for j in range(n-1, n-i-1, -1):

if L1[j] < L1[j-1]:

compteur += 1

L1[j], L1[j-1] = L1[j-1], L1[j]

return compteur

def nombre_inversions_simplement(L):

n = len(L) compteur = 0

for i in range(n):

for j in range(i+1, n):

if L[j] < L[i]:

compteur += 1 return compteur

# Q5 [1,3,0,0,1,0]

# Q7

# Tab[0] est le nombre de j > 0 tels que

# s[0] > s[j]

1

(2)

# Les j en question sont donc les antécédents

# de 0, 1, ...,s(0) - 1

# Donc il y en a s[0]

# Q8

# Le cardinal est le même, n!

# Il suffit donc de montrer que Tab est injective.

# Q9

def permutation_vers_table(perm):

n = len(perm) tab = n*[0]

for i in range(n):

for j in range(i+1, n):

if perm[j] < perm[i]:

tab[i] += 1 return tab

# Q10

def table_vers_permutation(tab):

n = len(tab) perm = []

auxiliaire = [k for k in range(0, n)]

for i in range(n):

j = auxiliaire[tab[i]]

perm.append(j)

auxiliaire.remove(j) return perm

# Explications : auxiliaire contient les

# entiers s(i), s(i+1),..., s(n-1)

# rangés dans l'ordre croissant.

# tab[i] nous donne la position de

# s(i) parmi eux.

# Q10

2

(3)

def table_vers_permutation_bis(tab):

n = len(tab)

resultat = [k for k in range(n)]

for i in range(n - 1):

for j in range(i + tab[i], i, -1):

resultat[j], resultat[j-1] = resultat[j-1], resultat[j]

return resultat

L = [1,11,7,3,0,6,10,2,8,4,5,9]

L1 = [1,4,0,2,5,3]

3

Références

Documents relatifs

Un escalier, entièrement réalisé en béton coulé en place et peint en blanc, développe la plastique de ses courbes dans l’espace du

outre les garde-corps, il met en scène le contraste entre le relief de la peau en béton blanc et les panneaux de béton recouverts d’une peinture métallisée qui, tantôt

Plutôt classique pour des travaux de Génie Civil, ce béton, acheminé sur place depuis la centrale Unibéton Codognan (Gard) et mis en œuvre par pompage, est de classe de résis-

All algebras are supposed to have identity element (denoted e ) b u t are not assumed associ- ative or finite-dimensional in general.. The term normed algebra is

[r]

 la consommation électrique pour maintenir l’embrayage fermé est plus élevée

Comment calculer un

Comment doit fonctionner le train épicycloïdal pour que le véhicule se déplace en utilisant l’énergie électrique et l’énergie mécanique. 2.3