Parcours en largeur d'un arbre binaire
Un arbre binaire est soit vide, représenté en Python par la valeur None
, soit un nœud
représenté par un triplet (g, x, d)
où x
est l’étiquette du nœud et g
et d
sont les sous-arbres gauche et droit.
On souhaite écrire une fonction parcours_largeur
qui prend en paramètre un arbre
binaire et qui renvoie la liste des étiquettes des nœuds de l’arbre parcourus en largeur.
Exemple
🐍 Console Python
>>> arbre = ( ( (None, 1, None), 2, (None, 3, None) ), 4, ( (None, 5, None), 6, (None, 7, None) ) )
>>> parcours_largeur(arbre)
[4, 2, 6, 1, 3, 5, 7]
Compléter le code ci-dessous
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
.1280130ldy14]k/we!ibmc_:35aPr 7=9o[f.gt286sSh)(pNunv050d0l0H0v0n0c0L0y0q0c0v0L0L0A010H0n0Q010406050L0S0p0p0v0x0e040M0C0c0S0/0C0T050j0_0{0}0 0@0Q04051f181i0j1f0@0d0n0U0%0)0+0-0N0n0G0N0c1w0N0H0=050Y0o0c0l1r0*0,011v1x1z1x0H1F1H1D0H0x1g0H0N0%120L0Q0v0T0-0I011J1t010E0!0l0T0v0p0l1D1$1(1-1L1:1H1?1^0=0a0y0w0x0C0Q0C0L0n150T0y0W1!0x0x0l0q2d181{0T1g0j1Y2q1V1X1W1E0d1}0-1z0T1=2a1D1o1q0(1K2A0n2C0T0C2G1D0Q2j1g2o2q2U0^1%2e2I1.2N0x0|0c0=0y0f2n2Y0?2X1|2!1L2$2(2*0I2-1(2/2o2z012@0v2)040y0t2{2p0@2~2=0-31330y0g372}2Y2 3d2*0u3h393j3b300C2%322*0K3o2:2Z1s2?3t2^340z3y3a3B3c3D3v340J3H3q3J3s3u3e0B3P2;3R3l040f0b3W3A2J3S3E0f2,192.1j2S182G2t0d1X2y3r0q2O1_1g3?1h3;2W3.2|053|0W2T3Q3)0i0=0W0E3h0y3z3k0E0=1%0x3|0S0x0L0r0)0x0G0l4p3h4i3r0;040P4y3I3)0T0=0}0o2j4E4a1.4B0O0s3o0y4T4h4F2#4l0}4o4q4g4z3R0C0=0A4$4W1L4B0D0h4S4U4%4G0=1 0l4,4N1L4)044+442p4V4}0-4/4M3X4^044J4L5249594O0=4;5e064U545g1L4c040k1v1H4|5o3c4_1;5v3(1.4 0m512U5n5B4.0=4:4R5k5m5m4@4X5b5A2 4 5F2.5H3k5y5u5e5Q4~0=0F585I5x04290Q5+2 4B4D5$4-0-0p0n0=3$5^55014P4=5O5Y3r4H5.4Z0C4p0L5;3r4 5*5 5w304I0Q0Q1=0d6d3R5?6p5a0v6s5h040D6v1L5{0=3-2W5_615i0O635O5%0-5q0n4f5e653Y4I6z565K6U016B045~6E604B5j5G6L015D5W2|6R4b0q0=0R164{6h5,6G045M2U5l646K6F674`6X6f6X670v6l6n6X6r6`5Z5S7f4A6W7i3R6Z6#3/6F6(6I5N716+6N6P6*736T7l3)577B1.6Z2`7E5J046)5X6+6-5T3r0i6=046@2C7d0=6~2.70714?7z04757I0-777*6j5b7b0T6o7-7e6$6i797W6x6X7G7{0h7s6 5P6F5q2j0H4p176Q6+674m4!6c5k18470l2q2R8j3=1p3@2t2w2r0v1G8m0j3?0@8w0X0Z0#04.
# Tests
(insensible à la casse)(Ctrl+I)
(Ctrl+Clic pour inverser les colonnes)