Construction d'arbre peigne
Un arbre binaire peigne
graph TB
N0("11")
N0 --> N00("5")
N0 --> N01((" "))
N00 --> N000("-2")
N00 --> N001((" "))
N000 --> N0000((" "))
N000 --> N0001((" "))
🐍 Script Python
# On aimerait construire cet arbre peigne :
ab = Noeud(11, Noeud(5, Noeud(-2)))
# facilement avec la liste des valeurs :
valeurs = [11, 5, -2]
Exercice
Coder une fonction peigne qui prend en paramètre valeurs une liste d'étiquettes et qui renvoie un arbre peigne à gauche dont les étiquettes sont données par la liste valeurs.
-
Si
valeursest non vide, la racine de l'arbre seravaleurs[0]. -
valeurspourra être détruite à l'issue du traitement. -
Vous pouvez afficher un arbre dans la console pour faire des tests (Ceci est possible grâce aux méthodes
__repr__et__str__de la classeNoeud, également présentes pourNone)
🐍 Console Python
>>> ab = peigne([11, 5, -2])
>>> ab
Noeud(11, Noeud(5, Noeud(-2)))
>>> print(ab)
|-- : 11
|-⋅
|-- : 5
|-⋅
|-- : -2
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
.128013/.rnbylaeêu)dV63Am(P02-],59f!7B8 N_o=pcwgv41kRIéhtsSà[Di:E050n0j0Y0i0(0h0Z0H0N0h0i0Z0Z0L010Y0(0M010406050Z0l0s0s0i0d0g040!0K0h0l0~0K0e050b1517191b130M04051r1k1u0b1r130n0(0Q0?0^0`0|0X0(0P0X0h1I0X0Y11050.0f0h0j1D0_0{011H1J1L1J0Y1R1T1P0Y0d1s0Y0X1V1F010C0:0j0e0i0s0j010?1e0Z0M0i0e0|0w1P20221:1X1?1T1_1{110a0H0u0d0K0M0K0Z0(1h0e0H0,1~0d0d0j0N2p1k270e1s0b1.2C1+1-1,1Q0n290|1L0e1^2m1P1A1C0@1W2M0(2O0e0K2S1P0M2v1s2A2C2*14212q2U1;2Z0d180h110H0S2z2.122-282:1X2=2@2_0w2|222~2A2L01330i2^040H0q372B133a310|3d3f0H0R3j392.3b3p2_0A3t3l3v3n3c0K2?3e2_0p3A2 2/1E323F343g0E3K3m3N3o3P3H3g0G3T3C3V3E3G3q0B3#303%3x040S0v3,3M2V3(3Q0S2{1l2}3B3-3^3/0S363}381v2(1k2S2F0n1-2K3D0N2!1|1s4a1t482,452B054g0,2)3$3^0T110,0C3t3L3b0O2_4A3U410C110M0j1I2O4F4u1;10040t4O402;110Q3e0j0l0d0Z4U3@4Q110m0)3?4C2_0H4;4(3b0Z0n11014{4.3D4^4:4;0U1^0Q0K0(1U0h00190f2v0H4K4M1U0#0H0P0i0l0N0X5g5d190~0d2r570i0H1L0Z0Y1U2s4Y1T4#4%4o3u4V1X4 3g4;0H0x0H2n0H5C4!4$0H0j5y0H2Z2q0Q0(0,0z5R4Z5E0$0v0y5P0j0d5v0^0H5;0N2X0j4}3%5K5M5N5)5D5U2l4#5;0H0k1+1U0s2!0(1?0W1U4K0e0n220Y5w1U1+0/5z1{0e0Y5|3^5~5M4{013A5 4B3D0e110r0F0J0o0V0%0*3t0H6C3%0K110L6N6P4v0N110I1i5{5G066B4G4W040i0f6U6)1X6R046T5G6O6/3o6F6H6J6L6A5M6V1;4w040O1H1T6.4P324X5*4$785I0|6;0D6?2*6^790|4R0$0y4-6$5 6(7m3c7b627e4)6:6S7z3w7x5T5F2,6_016;0c4?6D4J2k7N3%4R0t0m6 7t7l7f7w6+6-6@717B6=7D7O046Z4!0n7R3^7T7;6*5S4#7@1X4R0z7+3.116,7{7n117~7%7J6E046G6I6K6M5G7(84047V7s707J732v0Y4#1j877v89826$1k4r0j2C2%8z491B4b2F2I2D6,1T2C4a130b0,0.0:0Z04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)