diff --git a/slides/cours_19.md b/slides/cours_19.md index 074311409ca397d6bf02200c2383702ba8d61bb7..50e7459599ecde5f5ead47e94e36c533badcb908 100644 --- a/slides/cours_19.md +++ b/slides/cours_19.md @@ -432,4 +432,49 @@ struct _node { ::: +# Une fonctionnalité simple + +\footnotesize + +## La fonction `est_feuille(noeud)` + +* Problème avec cette implémentation? + +```pyrhon +bool est_feuille(noeud) + retourne + est_vide(sup_gauche(noeud)) && + est_vide(sup_droit(noeud)) && + est_vide(inf_gauche(noeud)) && + est_vide(inf_droit(noeud)) +``` + +. . . + +* Facile d'en oublier un! +* Comment changer la structure pour que ça soit moins terrible? + +. . . + +```python +struct node + info + node sup_gauche[4] +``` + +# Une fonctionnalité simple + +## En C? + +. . . + +```C +typedef struct _node { + int info; + struct _node *children; +} node; +typedef node *tree; +``` + + # Implémentation