0% ont trouvé ce document utile (0 vote)
30 vues14 pages

Opérations et Tri sur Listes en Python

Résumé Informatique spé

Transféré par

mohamedaminerafiki1
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
30 vues14 pages

Opérations et Tri sur Listes en Python

Résumé Informatique spé

Transféré par

mohamedaminerafiki1
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Spé

Les Listes
Operation Fonction Detail Exemple

Indice de
Dernier List[0]

i
élément

ab
Indice de
Dernier List [ len(L)-1 ]

ar
élément

.insert (indice,

La
Ajouter un
‘’élément
élément
inseret’’)

e ():Supprime la
L= [1,2,3]
L_2= L.pop()
an
Supprimer un dernier d’élément Print(L)
.pop()
élément et (n):Supprime Print(L_2)
.pop(n)
stocker l’élément d’indice
m

n [1,2]
[3]
ah

L = [1,2,3]
L_2 = L.extend(L)
Ajouter les
Print(L)
rr

éléments de
.extend(L) Print(L_2)
liste a une
autre liste
de

[]
[1,2,3]
Ab

L= [1,2,3]
Ajouter un L= L.append(4)
élément a une .append(L) Print(L)
autre liste
[1,2,3,4]

L = [1,2,3]
Chercher Index = L.index(3)
l’indice d’un .index() Print (index)
élément
2
Les tries
Les tries Comment il fonctionne Le code Python

Exemple :[5,2,9,1,6]
Etape1 : le plus petit

i
élément est 1 nous le

ab
place au début
Etape2 : nous
Tri par continuons avec la liste

ar
sélection restante [5,2,9,6]. Le plus
petit élément est 2
on le place après le 1

La
Même chose pour les
autres étapes pour avoir
[1,2,5,6,9]

e
an
On compare les paire et
Tri par Bulle on places les éléments a
ses place correcte
m

Exemple : [5,2,9,1,6]
ah

Etape 1 : on commence
par 5 que nous
considèrent comme une
rr

Tri par liste triée


insertion Etape 2 : nous prenons
la deuxième élément 2
de

et on le comparer avec
le 5 et on le place a ca
position correcte
Ab
Les tries Comment il fonctionne Le code Python

Devise les liste jusqu’à


on auras des liste
Tri par séparer qui contient un
fusion seul élément après on
comparer et fusionne
les élément

i
ab
ar
La
Tri par
fusion
récursive
e
an
m

Etape1 :On choisi un


ah

pivot et on place les


éléments plus petite
que le pivot a gauche
de pivot et les
rr

éléments plus grand


que le pivot à droite le
de

pivot maintenant est a


Tri rapide sa place correct
Étape 2 :on répète le
Ab

processus pour les


sous tableau situer
avant et après le pivot
Étape 3 :les sous
tableau maintenant
trier il reste a combiner
les sous tableau.
Les arbres binaires

i
ab
ar
La
e
an
m
ah
rr
de
Ab
Opération fonction / code NB

Arbre est vide A=[]

Valeur de
A[0]
Racine

Nœud A[1] ,A[2], …

def feuille (A,i) :

i
Si Nœud(A,i) if 2i+1 > len(A)-1 and 2i-1 > len(A)-1 :

ab
représente une return False
feuille else :
return True

ar
def parent(A,i) :

La
if A==[] or i==0:
Parent return ‘’ERROR’’ Return les parents de nœud
else:
return ((i-1)//2)

e
def left (A,i) :
an
if 2i+1 > len(A)-1:
Fils gauche de
return ‘’ERROR’’
noeud
else:
m

return A [2i+1]
ah

def Right (A,i) :


if 2i+1 > len(A)-1:
Fils droite de
return ‘’ERROR’’
nœud
else:
rr

return A [2i+2]
de

def is_root(A,i) :
Détermine Si le
if i == 0 :
nœud est un
return True
racine
Ab

else:
de l’arbre
return False

Teste
A[1]==[ ] and A[2]==[ ]
arbre = feuille

def Has_Left_Child(A,i):
Détermine Si le if 2i+1 > len(A)-1:
nœud a un fils return False
gauche else:
return True
Opération fonction / Code NB

def Has_Left_Child(A,i):
Détermine Si le if 2i+2 > len (A)-1 :
nœud a un fils return False
droite else:
return True

def Nbr_noeud(A): On test que l’arbre n’est


if A == [ ] : pas vide

i
return 0 Si l’arbre est une feuille

ab
Nbr de nœud elif A[1] == [ ] and A[2] == [ ] : donc nbr de nœud égale
return 1 a 1 qui est le racine
else: à la fin (+1 pour le

ar
return nbr_noeud A[1] + nbr_noeud A[2]+1 racine)

def Nbr_noeud_interne(A):

La
if A == [ ]:
Ici si l’arbre est une feuille
Return 0
Nbr de nœud donc il a 0 nœud interne
elif A[1] == [ ] and A[2] == [ ] :
interne car le nœud interne à au
return 0
e
else:
moin un fils
an
return nbr_noeud A[1] +nbr_noeud A[2]+1

def nbr_feuille(A):
m

if A == [ ]:
return 0
Nbr de feuille elif A[1] == [ ] and A[2] == [ ] :
ah

return 1
else:
return nbr_feuille(A[1])+nbr_feuille(A[2])
rr

def somme_arbre(A):
de

If A == [ ]:
Somme d’arbre Return 0
Else:
Ab

Return somme_arbre(A[1])+somme_arbre(A[2])+A[0]

def recherche(A):
if A == [ ]:
return False
Chercher dans
elife x == A[0]:
un Arbre
return True
else:
return recherche(A[1]) or rechrche(A[2])
Opération fonction / Code NB

def min_arbre(A):
if A == [ ]:
return float(‘’inf’’)
On peut écrire [return
Valeur min de else:
None] à la place de
l’arbre a = A[0]
[return float(‘’inf’’)]
b = min (A[1])
c = min (A[2])
return min (a,b,c)

i
ab
def hauteur(A) :
if A == [ ] :
return 0
Hauteur d’un

ar
else :
arbre
a = 1 + max_hauteur (A[1])
b = 1 + max_hauteur (A[2])

La
return max (a,b)

Parcoure infixe
Vous pouvez faire ça comme un exercice.
d’un arbre
e
an
Parcoure préfix
Vous pouvez faire ça comme un exercice.
d’un arbre
m

Parcoure
postfix Vous pouvez faire ça comme un exercice.
ah

d’un arbre

File: First In Last Out


rr

def affichage_largeur(A) : (FILO)


L = [A] Ajout(fin)=L. append(x)
while L! = [ ] :
de

Affiche les Supprimer(tête)=L.pop(0)


p = L.pop(0)
éléments de
print(p)
l’arbre avec
if p[1] != []:
Ab

méthode de
L.append(p[1])
FILE
if p[2] != []:
L.append(p[2])
return L
Opération fonction / Code NB

def affichage_profendeur(A) : Pile: Last In First Out In


L = [A] (LIFO)
while L! = [ ] : Ajoute(tête)=L. append(x)
Affiche les Supprimer(fin)=L.pop()
p = L.pop()
éléments de
print(p)
l’arbre avec
if p[1] != []:
méthode de
L.append(p[1])
PILE
if p[2] != []:

i
L.append(p[2])

ab
return L

def mem(A,x) :

ar
If A == [ ]:
return False
La valeur de racine est
Chercher si x elife x == A[0]:

La
toujours superieur a la
appartient à return True
valeur de sous-arbre
l’arbre elife x < A[0]:
gauche
return mem (A[1],x)
else:
e return mem (A[2],x)
an
def Chereche_min(A):
if A == [ ]:
return False
m

Min d’un arbre elif A[1] == [ ]:


return A[0]
ah

else:
return Chereche_min(A[1])
rr

def Cherche_max(A):
if A == [ ]:
return False
de

Max d’un arbre elife A[1] == [ ]:


return A[0]
else:
Ab

return Cherche_max(A[2])
Les graph
Type de graph

Graph non-orienter Graph orienter Graph pendrée

i
sommet

ab
50
17
20

ar
100

La
e
an
m
ah
rr

Arrêt
Lien
Arc
de
Ab
Opération fonction / Code NB

def arrete(A,i,j) : 1 = il y a une liaison


if A[i][j] == 1: 0 = il n’y a pas de
L’arrête return True liaison
else:
return False

def voisin (A,i) :


Return la liste L== [ ]:

i
des voisin du for j in range(len(A)):

ab
sommet If A[i][j] == 1:
numéro i L.append(A):
return L

ar
def nbr_arret(A): S//2 :car qd on est
S=0 entrain de compter

La
for i in range(len(A)): les liaison on a
Nbr d’arret for j in range(len(A)): toujours 2 liaison
If A[i][j] == 1 (liaison entre 0 et 1 et
S+=1 liaison
e
return S//2 entre 1 et 0
an
def rajouter_arret[A,i,j) :
Ajouter les
A[i][j] == 1
arret
m

A[j][i] == 1
ah

Ordre de graph def ordre_graph(A):


A return len(A)
rr

def degree_sommet(A,s):
S=0
de

Degré de for I In range (len(A)):


sommet if A[i][j] == 1
S+=1
return S
Ab

def degree_max(A):
L=[ ]
Degré max for i in range( len(A)):
L.append(dedree_sommet(A,j)
return max(L)
Opération fonction / Code NB

Vérifier si le
def sommet_adjacent(A,x,y) :
sommet est
return A[x][y] == 1
adjacent

def somme_isole(A,a) :
Vérifier si le for i in range(len(A)):
sommet est if A[a][i] ==1: a : un sommet
isolé Return False

i
return True

ab
def successeur_nonVisiter(A,s,test):
L=[ ] T= test ( enssemble

ar
Successeurs for j in range(0,len(A)): qui contient les
non-visités If A[s][j] == 1 and j not in T: sommet deja visités)
L.append(j) S : un sommet

La
return L

def parcours_largeur(A,s,T):

e
L=[s]
While L!=[ ] :
an
Affiche le graph p = L.pop(0)
en Parcours If p not in T:
BFS(FILE) print(p)
m

T.append(p)
L_1=succNonVisite(A,p,T)
L=L+L_1
ah

def parcours_profondeur(A,s,T)
L=[s]
rr

While L!=[ ] :
Affiche le graph p = L.pop()
de

enParcours If p not in T:
DFS(LIFO) print(p)
T.L.append(p)
L_1=succNonVisite(A,s,T)
Ab

L=L+L_1
L’algèbre rationelle

i
ab
ar
La
e
an
m
ah
rr
de
Ab
Ab
de
rr
ah
m
an
e
La
ar
ab
i
Pour plus d’info vous pouvez visiter notre groupe

WhatsApp:
https://chat.whatsapp.com/IbW4X9wXZvmG2PTpfOx7jp

Vous aimerez peut-être aussi