From 6b6dd822f14aa2913353a6c907ef09d949d9a4c2 Mon Sep 17 00:00:00 2001 From: Gabriel Augendre Date: Tue, 24 Mar 2015 11:57:06 +0100 Subject: [PATCH] Add things about Ordinated binary trees --- algo_avancee/arbres.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/algo_avancee/arbres.md b/algo_avancee/arbres.md index ce2a268..8b0d114 100644 --- a/algo_avancee/arbres.md +++ b/algo_avancee/arbres.md @@ -92,6 +92,8 @@ On parcourt récursivement selon cette règle : - On affiche le noeud courant. - On passe au fils droit et on applique cette règle. +_Ce parcours permet de retourner une liste ordonnée en parcourant un ABR (Arbre Binaire de Recherche)._ + Ainsi, pour un arbre comme celui-ci : ``` @@ -142,4 +144,19 @@ Ainsi, pour un arbre comme celui-ci : D E F ``` -On aura : `D E B F C A` \ No newline at end of file +On aura : `D E B F C A` + +### Insérer une valeur dans un ABR +```python +def planter(racine, val): + if val <= racine.val: + if racine.fg: + planter(racine.fg, val) + else: + racine.fg = new Noeud(val=val, fg=None, fd=None) + else: + if racine.fd: + planter(racine.fd, val) + else: + racine.fd = new Noeud(val=val, fg=None, fd=None) +``` \ No newline at end of file