TD4 – Listes
Exercice 1 – Manipulation des fonctions de base sur les listes
,%P#QR*
%$*initialiseListes )>&
$ <
'
3,)8
%$*
!
Algorithme initialiseListes
> <P#Q#R#%
Q@creeListe#creeListe'#JH
' P@creeListe#creeListe'#creeListe.#JH
. Q@creeListe0#P
0 tetesuivantP@9
4 R@creeListe4#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
%**>,%%#
●.:,$*longueurListeL%L=%
&3%B%$*initialiseListes%&#longueurListeR !
●0:,$*insereAvantCaseL%&ix#
i)%x'%&-
●4($*longueurListeinsereAvantCase#,$*enfileL
%a#8La
●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
( <*KA
<*K
> <*Kresultat#i
=estFeuilleA <
'@racineA
0= <
4resultat@LL
9"i8longueurenfantsA <
resultat@Concateneresultat,ConcateneecritureParentheseeCaseenfants;#i#LML
B7
Eresultat@ConcateneConcateneresultat,LL#racineA
N7
resultat
7
LL
T
LL
LL
LL
LL
LL
LL
LL
nombreFeuillesC?9#nombreFeuillesA !%%$* nombreFeuilles !
●',)%%$*nombreFeuilles
●.($%$*nombreFeuilles#,$*nombreNoeuds
O%%O?%
●0($*nombreFeuillesnombreNoeuds#,$*nombreNoeudsInternes
O%
Exercice 3 – Recherche dans un arbre
●:,$*recherchei%A#>G;+i
A#7;HI
●':,$*profondeuri%A#
%iN%8#%#'%#%%#
)
●.($*decaleApresCasetrouvePosition#,$*insereDansTableauTrie
%tabk#ktab8tab#
tabinsereDansTableauTrieD#'#0#4###F#' !
●0(%$*insereDansTableauTrie#,%$*triParInsertion
%tab#tab2#$tabtab2
37#triParInsertiontab2tab