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

Python Console Session
>>> 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

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein Ă©cran"
(Esc)
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
Évaluations restantes : 5/5

.128013l(9 _4:=vm26!-uS8w.s3/]fr7gebh[pPicN05aonkyd1)t050S0C0V0N0I0b0u0e0J0b0N0u0u0i010V0I0G010406050u0p0k0k0N0z0R040q0O0b0p0:0O0P050w0`0|0~100^0G04051g191j0w1g0^0S0I0j0(0*0,0.0*0P0B0p0N0B0C0o0G0R0V0E170e0E0I0B0E0b1L0E0V0?050Z0D0b0C1s0+0-011K1M1O1M0V1U1W1S0V0z1h1G0(130u0G0N0P0.0l011Y1u010y0#0C0P0N0k0C1S1@1_1~1!211W24260?0a0e0H0z0O0G0O0u0I160P0e0X1=0z0z0C0J2r19290P1h0w1G2E1.1:1/1T0S2b1v0I0P232o1S1p1r0)1Z2O2Q0P0O2U1S0G2x1h2C2E2+0_1^2s2W1 2!0z0}0b1S0N1J2x0y0.030f0f0J2#0C1O2Z0O0o0T390?0e0T190N2,2/0@2.2a2;1!2?2^2`2|0C2~01303234362R390o1|040e0l3f3h1_3j2C2N013o0N2_1h2{0E2}2 31330X3y2!3A0v3c0v3G2B3i0^3K3m0.3N3P053R3T3u3V3x2P3z3a0g3c0g3(1a3*3k2:1t3n0O2@3O3q3S3s3U3w3X3`3Z3a0M3c0M402+3+2/3L3/4a3?3v3W354g383a0m3c0m4m423,453.473p3Q3r3t4u3_373A0A3c0A4D3I4o3l4G3M4I494K4b4M3^4f4P3a0r3c0r4U2D4W442X4Z483:3=4c3@4e4w4+0o0d3c0d4:3J4p3-4^4J3;4L4d4v3Y4y390L0?0T0L554=4q4!4`5c4}5e4x3A0T0T5j3e0w3g3)3I1k2)192U2H0S1:2M584v2T1q1h2(0C2*3i5C2D054v5T2a0I0S0.312C5v3q5#5%4~5f5*0e2f0C5-5t505x2E5B4F4@0Q0?0X0y5V5Z4?1 0s3c63434q0y0?1^0z330p0z0u0f0*0z1B6h695}1 0=040c6p574Y0P0?0~0D2x6v4X4@6s0U0h630^415D3K5,015(2/3A3C5b6O4)4 3{3B1}5=5@4O6Y6T5A3D0e6,6a586y046e6g6i630e6.4Y0O0?0i6^6`6F0?0F0x6J6D2s6V0f5)3a3#4K785^6Y3#5;255?6P5.5u7b1S6*6,6-6q3n0?2d0C6 7t0.6|046~6L2D6_7z016s0F764q6z0z6B7x7E643L6s747R6K2-6N5$7l7a0o3}7d7!6W5/3|6!7j6$4*6Y7(3G7r7G6w5~0?0s1K1W7y7`2=7v22806E1 7B0n7D2+7_861!7J0x6I7W7L787$4j7)7:6X4h0o4j7i268o7,8r7p3g7^7^7082040N85651!7B8a3i8c8H3.837 7R8C8I0?0t7L6/6d2m8W4Y6s6u8R7H0k0I0?5l8(818e0?0U758.5!7*796R4z5+8_7f8q4A8t7k7+7n0o4A5{6+8A8M7M6;0~6?0u8!4@7B8V8@8N3M6z0G0G230S9h6r0?8%7Y8/8O8E9t8:047K9l3L8*5j9B0.7U8=8i9F8k8{0o4R8n7l8 5g4R928v959S7@9a9b585 040I627R9(6x6z9J7I729=9H048-9x8d9K0?7V8b8S7A0?898G3L0Q0J0?0K177Q9|9m6s8h4n8j8_7$4-9T94504-9Y9U6%8qam9$9%7ra29n047w9=9j9=6:0N9p9r9=8$aF9;9F587J9^8+9`aK9 9Mai9Oak9Q52an7m5052arao6Ya#aw8Aaz9*9,a68X9AaO8#9@a_4@9_3Fa|9u04a08Laz888K3I9/5~a904ab2QaU04ah42aY5-7$5k8}9Z5_5ia*a%6Ybm98ax8B7H6:aCb08T049kae9caH9q0P9sbB9~6taMa^bFaPa{bQ4Ya~bf0xaWbibF9P1_5v5`6U8~at5g5w7.8uas7;8qb-bvay7H9*2x0V6h189.az6:6=0O6h9g9N2-0w5Y5E5S5G5P190V5Jce2K2F0N1Vcb0w5H6K0X0Z0#0u04.