Exercice 1 : Liste chainée
1.1. A l'aide de la classe Cellule, construire la liste chainée l1 suivante :
2
1.2. Coder une fonction somme qui a comme paramètre une liste chainée de nombre et qui retourne comme résultat la somme des valeurs de cette-ci.
Tester avec :
Résultat :
36
Exercice 2 : Pile et File
2.1. Ecrire une fonction string_to_pile qui prend comme paramètre une chaine de caractère et qui retourne une pile avec un caractère de la chaine dans chaque case.
2.2. Ecrire une fonction string_to_file qui prend comme paramètre une chaine de caractère et qui retourne une file avec un caractère de la chaine dans chaque case.
2.3. Ecrire une fonction longueur_pile qui prend comme paramètre une pile et qui retourne sa longueur.
Tester avec :
Résultat :
9
2.4. Un palindrome est une chaine de caractères qui se lit de la même manière de gauche à droite et de droite à gauche.
Exemples:
- ressasser
- laval
En utilisant les fonctions string_to_file et string_to_pile, écrire une fonction palindrome qui prend comme paramètre une pile de caractère et une file de caractère et qui retourne True si c'est un palindrome et False sinon.
Tester avec :
Résultat :
ressasser True
ramasser False
Exercice 3 : Arbre binaire
3.1. A l'aide de la classe Noeud construire l'arbre binaire suivant:
3.2. Cette arbre, est-il un arbre binaire de recherche? Justifier.
3.3. Ecrire une fonction somme_noeuds qui calcule la somme de tous les sommets de l'arbre.
Tester avec :
Résultat :
66
Exercice 4 : Arbre binaire de recherche
4.1. A l'aide de la méthode ajoute dans la classe ABR, construire l'arbre binaire suivant:
Tester avec :
(((9(13))17(25(27)))32((41(44))48((53)55)))
- le niveau 0 à comme sommet 32;
- le niveau 1 à comme sommets 17, 48;
- le niveau 2 à comme sommets 55, 41, 25 et 9;
- ...
41
25
9