L'objectif de cette activité est de découvrir comment implémenter les différentes structures de données en Python, avec ou sans les objets, à travers 3 TP :

Séquençage et objectifs des 3 TP

 

TP1 : Implémentation d'un arbre binaire par tuple de tuple

Voici les différents éléments vus durant ce TP1 :

TP1 : Implémentation d'un arbre binaire par tuple de tuple (sans utiliser les objets)
Programme arbre Version 1
Programme arbre Version 2
Programme arbre Version 3
Création d'un arbre par listes impriquées (liste de liste)

Pour aller plus loin, voici des programmes en Python permettant d'afficher un arbre binaire défini sous forme d'un tuple de tuple, non pas en utilisant la bibliothèque matplotlib, mais en utilisant simplement le module Turtle de Python.

Les 3 premières versions dessinent un arbre binaire statique : pour le modifier il faut modifier le code source définissant l'arbre binaire à tracer sous forme d'un tuple de tuple :

Programme arbre binaire avec Turtle Version 1
Programme arbre binaire avec Turtle Version 2
Programme arbre binaire avec Turtle Version 3

Les 5 versions suivantes sont interactives : pour faire évoluer l'arbre binaire il suffit de cliquer dans la fenêtre de la tortue avec la souris.

Pour connaître les contrôles interactifs utilisés par chacun des programmes, lisez le message affiché dans la console de Python au langement du programme :

Programme arbre binaire avec Turtle Version 4
Programme arbre binaire avec Turtle Version 5
Programme arbre binaire avec Turtle Version 6
Programme arbre binaire avec Turtle Version 7
Programme arbre binaire avec Turtle Version 8

Enfin, voici quelques applications interactive pour bien comprendre la représentation et la modélisation des arbres :

Arbre binaire interactif (modélisé en tuple de tuple)
Arbre binaire de recherche interactif (modélisé en tuple de tuple)
Arbre binaire de recherche interactif avec suppression de nœuds (modélisé en tuple de tuple)
Éditeur d'arbres généraux (modélisé en tuple de liste)

 

 

TP2 : Implémentation d'un arbre binaire en Programmation Orientée Objet (POO)

Voici les différents éléments travaillés durant ce TP2 :

Création d'une classe Arbre possédants les méthodes suivantes :

Création de 3 fonctions externes à la classe Arbre prenant en paramètre un objet "arbre" de classe Arbre et affichant chacune un parcours en profondeur sur une ligne dans la console :

Enrichissement de la classe Arbre en créant 3 nouvelles méthodes qui affichent chacune un parcours en profondeur de l'arbre lui-même sur une ligne dans la console :

TP2 : Implémentation d'un arbre binaire en Programmation Orientée Objet (POO)
Programme arbre_poo Version 1 (classe Arbre simple)
Programme arbre_poo Version 2 (classe Arbre avec les fonctions externes)
Programme arbre_poo Version 3 (classe Arbre avec les méthodes)
Programme arbre_poo Version 4 (les 3 parcours en profondeur à compléter)
Programme arbre_poo Version 5 (version finale : les 3 parcours en fonctions externes et en méthodes)
Programme classe_noeud

 

TP3 : Implémentation des structures de données linéaires en POO

Voici les différents éléments vus durant ce TP3 :

TP3 : Implémentation des structures de données linéaires en POO
Programme classe_perso de base (à compléter)
Programme classe_perso
Programme classe_tab de base (à compléter)
Programme classe_tab
Programme classe_pile de base (à compléter)
Programme classe_pile
Programme classe_pile_capacite_bornee
Programme classe_file de base (à compléter)
Programme classe_file
Programme classe_maillon de base (à compléter)
Programme classe_maillon
Création d'une file avec le module queue de Python

 

Conclusion

Vous savez maintenant implémenter en Python toutes sortes de structures de données, avec ou sans la programmation orientée objets.

 

 

Réalisé par Jean-Christophe MICHEL

© Janvier 2025