TD d'algorithmique M2202
TD1 – Récursivité


Exercice 1
Fibonacci !"
#$%&
'()*% !
+,%%&#%-
#
. %$*Fibonacci2)%-
n/'#-
%Fibonacci2nn !
0",1  2#%
#%$*Fibonacci3%#
n/'#%$*Fibonacci2
456$*Fibonacci1 
7 28#9#89$
:,$*ajouteCarré
*8$**83#
$8$*#'8#.*8
#0*8$**$83
9:,6$*dessineSpiralen
7n
;$* Fibonacci
( <n
= <
> <resultat

=? <
resultat@
= <
=n?' <
resultat@'
= <
resultat@Fibonaccin)A
Fibonaccin)'
7=
7=
resultat
7
Exercice bonus – Puissances de 2
:,deuxPuissancen'n#
Pour#Tant queIndications: quel est le cas de base (initialisation)? Quelle est la formule d'hérédité?
'>,8.termineTableauPuissancesDeDeux
n#in#%n#*3%8i)
''#&''?0#'.?B#
termineTableauPuissancesDeDeux4#0 !
.:,termineTableauPuissancesDeDeux8
Pour#Tant que
0:,remplitTableauPuissanceDeDeuxn%n
i)'i,termineTableauPuissancesDeDeux
TD2&3 – Tris
Exercice 1 – Implémentation du tri à bulles
etapeTriBulles8C%#%
*$8#*$%
(etapeTriBullesD0#4##'#'#E#BF !
':,etapeTriBulles
."-%$*8%8#"#,
$*testTrieAvantCase#%tabi#>G;+
3%8i)#7;HI
Indication pour l'initialisation:testTrieAvantCase%tab%i !
Indication pour l'hérédité:tabtestTrieAvantCase 3%8i))#%
3%8i) !(%%3%8i) !
0(etapeTriBullestestTrieAvantCase#,%$*triBulles%
8
Exercice 2 – Tri par insertion
:,$*decaleApresCase%tabi%
i)decaleApresCaseD#0#4####F# !
':,$*trouvePosition%tab
k#tabktab
"&#trouvePositionD#0#4####F#'%k?'
D#'#0#4###F
1
1
2
3
5
8
;$*Fibonacci2
( <n
= < 
> <i#j#k  l

i@
j@
"l .8n <
k ← i Aj
i @j
j ← k
7"
j
7
TD4 – Listes
Exercice 1 – Manipulation des fonctions de base sur les listes
,%P#QR*
%$*initialiseListes )>&
$ <
'
3,)8
%$*
 !
Algorithme initialiseListes
> <P#Q#R#%

 Q@creeListe#creeListe'#JH
' P@creeListe#creeListe'#creeListe.#JH
. Q@creeListe0#P
0 tetesuivantP@9
4 R@creeListe4#suivantsuivantP
9 suivantP@R
 P@suivantR
B suivantP@creeListeteteQ#JH
7
 '
Q
4 .
P
0
Q R
0
Exercice 2 – Écriture de fonctions sur les listes et implémentation d'une file
(Tant que#,)$*afficheListe%
**"&#afficheListecreeListe#creeListe'#JH*'
'= Tant que#,)$*afficheListe
%**>,%%#

.:,$*longueurListeL%L=%
&3%B%$*initialiseListes%&#longueurListeR !
0:,$*insereAvantCaseL%&ix#
i)%x'%&-
4($*longueurListeinsereAvantCase#,$*enfileL
%a#8La
9:,$*defile%#
TD5 – Arbres
Exercice 1 – Codage d'un arbre
ecritureParentheseeT#T%
8 !
Exercice 2 – Comptages dans les arbres
5
%%"
%$*
nombreFeuilles 
%A#
%=%A&B
C#nombreFeuillesB?0
4
A
B
C
Algorithme ecritureParenthesee
( <*KA
 <*K
> <*Kresultat#i

=estFeuilleA <
'@racineA
0= <
4resultat@LL
9"i8longueurenfantsA <
resultat@Concateneresultat,ConcateneecritureParentheseeCaseenfants;#i#LML
B7
Eresultat@ConcateneConcateneresultat,LL#racineA
N7
resultat
7
LL
T
LL
LL
LL
LL
LL
LL
LL
nombreFeuillesC?9#nombreFeuillesA !%%$* nombreFeuilles !
',)%%$*nombreFeuilles
.($%$*nombreFeuilles#,$*nombreNoeuds
O%%O?%
0($*nombreFeuillesnombreNoeuds#,$*nombreNoeudsInternes
O%
Exercice 3 – Recherche dans un arbre
:,$*recherchei%A#>G;+i
A#7;HI
':,$*profondeuri%A#
%iN%8#%#'%#%%#
)
.($*decaleApresCasetrouvePosition#,$*insereDansTableauTrie
%tabk#ktab8tab#
tabinsereDansTableauTrieD#'#0#4###F#' !
0(%$*insereDansTableauTrie#,%$*triParInsertion
%tab#tab2#$tabtab2
37#triParInsertiontab2tab
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !