taille récursive d'un arbre binaire (1)
Dans cet exercice, un arbre binaire de caractères est stocké sous la forme d’un
dictionnaire où les clefs sont les caractères des nœuds de l’arbre et les valeurs, pour
chaque clef, la liste des caractères des fils gauche et droit du nœud.
On utilise la valeur '' pour représenter un fils vide.
Par exemple, l’arbre

est stocké dans
Pythona = {'F':['B','G'], 'B':['A','D'], 'A':['',''], 'D':['C','E'], \
'C':['',''], 'E':['',''], 'G':['','I'], 'I':['','H'], \
'H':['','']}
Écrire une fonction récursive taille prenant en paramètres un arbre binaire arbre non vide
représenté par un dictionnaire comme vu ci-dessus et un caractère lettre. La fonction doit renvoyer la taille
de l'arbre, ou du sous arbre de arbre de sommet lettre.
On observe que, par exemple, arbre[lettre][0], respectivement
arbre[lettre][1], permet d’atteindre la clé du sous-arbre gauche, respectivement
droit, de l’arbre arbre de sommet lettre.
Exemple
Python Console Session>>> taille(a, 'F')
9
>>> taille(a, 'B')
5
>>> taille(a, 'I')
2
Compléter le code ci-dessous
.128013w4h)1(+-,_s3u:/S[ bn=ve0imtP]p2drgylckfao050G0x0B0O0z0K0l0s0L0K0O0l0l0v010B0z0E010406050l0n0A0A0O0H0J040q0P0K0n0*0P0u050p0;0?0^0`0/0E04051a131d0p1a0/0G0z0w0Y0!0$0(0!0u0I0n0O0I0x0i0E0J0B0d110s0d0z0I0d0K1F0d0B0-050T0t0K0x1m0#0%011E1G1I1G0B1O1Q1M0B0H1b1A0Y0}0l0E0O0u0(0F011S1o010N0V0x0u0O0A0x1M1.1:1^1U1{1Q1~200-0a0s0C0H0P0E0P0l0z100u0s0R1,0H0H0x0L2l13230u1b0p1A2y1(1*1)1N0G251p0z0u1}2i1M1j1l0Z1T2I2K0u0P2O1M0E2r1b2w2y2#0:1/2m2Q1_2U0H0@0K1M0O1D2r0N0(030k0k0L2V0x1I2T0P0i0F0i0f0-0f130O2$2)0.2(242+1U2-2/2;2?0x2^012`2|2~302L33330-0F393b1:3d2w2H013i0O2:1b2=0d2@2_2{2}0R3s2U3u0m0-0m3y2v3c0/3C3g0(3F3H053J3L3o3N3r2J3t340c0-0c3W143c1e2Z132O2B0G1*2G3#013O211b3~1c3|2%3_3A05452!2)0s0z0G0(2{2w3u363I4i4k013-3P3/3R34360s290x4l3q4v314o1M0p3a3e2*1n1U0M0-0R0N3X4d3!4N0(0b0-0s4T2x4L3D0u0N0-0T0V1Q4#4g3f4W010,040g4/4%430u0-0^0t2r4`4V2R4?0-0j4/4!532,0-1Q1!514c4$5a1U4@0e0o4/0/5g4:2m4j4D4n341?4q5s4t4E2 4w325v1@4B4D453Q5D3v2y3a0s5O594h434P040z4S5p5Q4;544}045d1(0x584{4=0P0-0v0v5*5i0(0l4p0000525R4=4@5m5p5o2%3C5y4m2)3S3k645A5J674A1 4C5z5I5C675M045P6m5Y4M545T2r0B0n0H125X5+540A0z0-0y5n5{24695u0i3=5x4s4u5B4G3;5F6e5H3.6P6J4I5N5P6y1_6r0S6u6w2#6o3D6A375;5|545-040h6/5Z5b044,0K4.5p6!5j0-4_6 5=3E4~0H505)746:1_4@576x755#4 5f627c71040r6F6p6`5%7k3`754@0D7p7b6_1U6-046D7A7r7n0D0e6^7H0(6=6@7g7m3$4+0U6}7a7l7B0(4@737X7M76047j7W7v7R55047f6*707S7)787u4U7-4@7z7$4(5c0S5(7q3D7x7}7,7Y017D387G840-7J6E6 0p4f3{0x2y482z40132C8q0O1P8l3}1k3d0p0R6|0l04.
# Tests(insensible Ă la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)