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)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

.128013w]itkc[vN8o-)yl0bp_!.P3(ag=/m4rse97Sfd 612:5nuh050M0H0e0z0d0p0G0N0g0p0z0G0G0B010e0d0s010406050G0U0D0D0z0F0o040K0l0p0U0:0l0T050C0`0|0~100^0s04051g191j0C1g0^0M0d0i0(0*0,0.0*0T0A0U0z0A0H0m0s0o0e0V170N0V0d0A0V0p1L0V0e0?050Z0r0p0H1s0+0-011K1M1O1M0e1U1W1S0e0F1h1G0(130G0s0z0T0.0Q011Y1u010L0#0H0T0z0D0H1S1@1_1~1!211W24260?0a0N0w0F0l0s0l0G0d160T0N0X1=0F0F0H0g2r19290T1h0C1G2E1.1:1/1T0M2b1v0d0T232o1S1p1r0)1Z2O2Q0T0l2U1S0s2x1h2C2E2+0_1^2s2W1 2!0F0}0p1S0z1J2x0L0.030t0t0g2#0H1O2Z0l0m0P390?0N0P190z2,2/0@2.2a2;1!2?2^2`2|0H2~01303234362R390m1|040N0Q3f3h1_3j2C2N013o0z2_1h2{0V2}2 31330X3y2!3A0x3c0x3G2B3i0^3K3m0.3N3P053R3T3u3V3x2P3z3a0E3c0E3(1a3*3k2:1t3n0l2@3O3q3S3s3U3w3X3`3Z3a0S3c0S402+3+2/3L3/4a3?3v3W354g383a0O3c0O4m423,453.473p3Q3r3t4u3_373A0J3c0J4D3I4o3l4G3M4I494K4b4M3^4f4P3a0k3c0k4U2D4W442X4Z483:3=4c3@4e4w4+0m0I3c0I4:3J4p3-4^4J3;4L4d4v3Y4y390q0?0P0q554=4q4!4`5c4}5e4x3A0P0P5j3e0C3g3)3I1k2)192U2H0M1:2M584v2T1q1h2(0H2*3i5C2D054v5T2a0d0M0.312C5v3q5#5%4~5f5*0N2f0H5-5t505x2E5B4F4@0f0?0X0L5V5Z4?1 0b3c63434q0L0?1^0F330U0F0G0t0*0F1B6h695}1 0=040y6p574Y0T0?0~0r2x6v4X4@6s0n0R630^415D3K5,015(2/3A3C5b6O4)4 3{3B1}5=5@4O6Y6T5A3D0N6,6a586y046e6g6i630N6.4Y0l0?0B6^6`6F0?0h0c6J6D2s6V0t5)3a3#4K785^6Y3#5;255?6P5.5u7b1S6*6,6-6q3n0?2d0H6 7t0.6|046~6L2D6_7z016s0h764q6z0F6B7x7E643L6s747R6K2-6N5$7l7a0m3}7d7!6W5/3|6!7j6$4*6Y7(3G7r7G6w5~0?0b1K1W7y7`2=7v22806E1 7B0u7D2+7_861!7J0c6I7W7L787$4j7)7:6X4h0m4j7i268o7,8r7p3g7^7^7082040z85651!7B8a3i8c8H3.837 7R8C8I0?0v7L6/6d2m8W4Y6s6u8R7H0D0d0?5l8(818e0?0n758.5!7*796R4z5+8_7f8q4A8t7k7+7n0m4A5{6+8A8M7M6;0~6?0G8!4@7B8V8@8N3M6z0s0s230M9h6r0?8%7Y8/8O8E9t8:047K9l3L8*5j9B0.7U8=8i9F8k8{0m4R8n7l8 5g4R928v959S7@9a9b585 040d627R9(6x6z9J7I729=9H048-9x8d9K0?7V8b8S7A0?898G3L0f0g0?0j177Q9|9m6s8h4n8j8_7$4-9T94504-9Y9U6%8qam9$9%7ra29n047w9=9j9=6:0z9p9r9=8$aF9;9F587J9^8+9`aK9 9Mai9Oak9Q52an7m5052arao6Ya#aw8Aaz9*9,a68X9AaO8#9@a_4@9_3Fa|9u04a08Laz888K3I9/5~a904ab2QaU04ah42aY5-7$5k8}9Z5_5ia*a%6Ybm98ax8B7H6:aCb08T049kae9caH9q0T9sbB9~6taMa^bFaPa{bQ4Ya~bf0caWbibF9P1_5v5`6U8~at5g5w7.8uas7;8qb-bvay7H9*2x0e6h189.az6:6=0l6h9g9N2-0C5Y5E5S5G5P190e5Jce2K2F0z1Vcb0C5H6K0X0Z0#0G04.