{VERSION 6 0 "IBM INTEL NT" "6.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 256 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 261 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 262 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 263 "" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 264 "" 0 1 0 0 0 0 0 2 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 265 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 266 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 267 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 268 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 269 "" 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 270 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 271 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 272 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 273 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 274 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 275 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 276 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 277 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 278 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 279 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 280 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 281 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 282 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 283 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 284 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 285 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 286 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 287 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 288 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 289 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 290 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 291 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 292 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 293 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 294 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 295 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 296 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 297 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 298 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 299 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 300 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 301 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 302 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 303 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 304 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 305 "" 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 306 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 307 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 308 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 309 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Warning" -1 7 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 2 2 2 2 2 1 1 1 3 1 } 1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Error" -1 8 1 {CSTYLE "" -1 -1 " Courier" 1 10 255 0 255 1 2 2 2 2 2 1 1 1 3 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Plot" -1 13 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Title" -1 18 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 1 1 1 1 }3 1 0 0 12 12 1 0 1 0 2 2 19 1 }{PSTYLE "Author" -1 19 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 8 8 1 0 1 0 2 2 0 1 }{PSTYLE "Normal " -1 256 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 } 3 1 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {PARA 18 "" 0 "" {TEXT -1 15 "Arbres binaires" }{TEXT 263 0 " " }{TEXT 264 0 "" }}{PARA 19 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 " " 0 "" {TEXT -1 3 "Un " }{TEXT 265 13 "arbre binaire" }{TEXT -1 18 " e st constitu\351 de " }{TEXT 258 5 "n\234uds" }{TEXT -1 47 " (repr\351s ent\351s ici par des disques gris), et de " }{TEXT 259 8 "feuilles" } {TEXT -1 43 " (repr\351sent\351es ici par des disques verts). " }} {PARA 0 "" 0 "" {TEXT -1 11 "On appelle " }{TEXT 260 6 "racine" } {TEXT -1 63 " le n\234ud qui est le p\350re de tous les n\234uds (ici \+ le n\234ud \"11\"). " }}{PARA 0 "" 0 "" {TEXT -1 47 "Un n\234ud donne \+ naissance \340 deux descendants: un " }{TEXT 261 11 "fils gauche" } {TEXT -1 7 " et un " }{TEXT 262 11 "fils droite" }{TEXT -1 220 ", qui \+ peuvent \352tre des n\234uds ou des feuilles:\npar exemple le n\234ud \+ \"14\" a pour fils gauche le n\234ud \"13\" et pour fils droit le n \234ud \"15\". \nUne feuille est un n\234ud qui n'a pas de fils (ici \+ les n\234uds \"5\",\"10\",\"13\",\"15\") . " }}}{PARA 256 "" 0 "" {GLPLOT2D 265 240 240 {PLOTDATA 2 "68-%)POLYGONSG6$7U7$$\"#5\"\"!$F*F* 7$$\"+8q9@**!\"*$\"+OBL`7F/7$$\"+6;$eo*F/$\"+t))*o[#F/7$$\"+f[w(H*F/$ \"+FbC\"o$F/7$$\"++o1j()F/$\"+Tn`<[F/7$$\"+V*p,4)F/$\"+CD&y(eF/7$$\"+t io*G(F/$\"+g5ZXoF/7$$\"+'*)RUP'F/$\"+HC80xF/7$$\"+^zEe`F/$\"+a#zKW)F/7 $$\"+=HzdUF/$\"+B0F[!*F/7$$\"+Q*p,4$F/$\"+l^c5&*F/7$$\"+UJ\"Q(=F/$\"+3 D(G#)*F/7$$\"+D>0zi!#5$\"+%Gn-)**F/7$$!+m>0ziFaoFbo7$$!+YJ\"Q(=F/$\"+2 D(G#)*F/7$$!+U*p,4$F/$\"+j^c5&*F/7$$!+8HzdUF/$\"+E0F[!*F/7$$!+YzEe`F/$ \"+d#zKW)F/7$$!+$*)RUP'F/$\"+JC80xF/7$$!+$G'o*G(F/$\"+]5ZXoF/7$$!+]*p, 4)F/$\"+9D&y(eF/7$$!+0o1j()F/$\"+Kn`<[F/7$$!+i[w(H*F/$\"+>bC\"o$F/7$$! +8;$eo*F/$\"+l))*o[#F/7$$!+9q9@**F/$\"+IBL`7F/7$$FaoF*$!+:w1-T!#=7$$!+ 8q9@**F/$!+QBL`7F/7$$!+6;$eo*F/$!+t))*o[#F/7$$!+f[w(H*F/$!+FbC\"o$F/7$ $!+,o1j()F/$!+Sn`<[F/7$$!+Y*p,4)F/$!+?D&y(eF/7$$!+xio*G(F/$!+c5ZXoF/7$ $!+())RUP'F/$!+PC80xF/7$$!+RzEe`F/$!+i#zKW)F/7$$!+1HzdUF/$!+H0F[!*F/7$ $!+M*p,4$F/$!+m^c5&*F/7$$!+QJ\"Q(=F/$!+4D(G#)*F/7$$!+%)=0ziFao$!+&Gn-) **F/7$$\"+2?0ziFao$!+%Gn-)**F/7$$\"+]J\"Q(=F/$!+2D(G#)*F/7$$\"+Y*p,4$F /$!+i^c5&*F/7$$\"+#Fb[l$!+[Z@7MFb[l7$$!+t8.rA Fb[l$!+%*GX:LFb[l7$$!+5gdiBFb[l$!+dn[HKFb[l7$$!+0K+$Fb[l7$$!+?0ziIFb[lF]bl7$$!+:8Q(= $Fb[lFhal7$$!+%*p,4LFb[lFcal7$$!+\"HzdU$Fb[l$!+ZH<&4$Fb[l7$$!+&zEe`$Fb [l$!+u?nbJFb[l7$$!+*)RUPOFb[lFd`l7$$!+G'o*GPFb[l$!+&*GX:LFb[l7$$!+&*p, 4QFb[l$!+\\Z@7MFb[l7$$!+!o1j(QFb[l$!+FjC=NFb[l7$$!+'[w(HRFb[l$!+[a(=j$ Fb[l7$$!+hJeoRFb[l$!+9,J^PFb[l7$$!+,Z6#*RFb[l$!+nnmuQFb[l7$Fa^l$!+++++ SFb[l7$F_el$!+MKLDTFb[l7$Fjdl$!+())*o[UFb[l7$Fedl$!+`X7oVFb[l7$F`dl$!+ uOv\"[%Fb[l7$F[dl$!+__y(e%Fb[l7$Ffcl$!+1ra%o%Fb[l7$Fccl$!+WK^qZFb[l7$$ !+%zEe`$Fb[l$!+EzKW[Fb[l7$Fibl$!+`q#[!\\Fb[l7$$!+$*p,4LFb[l$!+0ziIFb[l$!+Gn-)*\\Fb[l7$$!+![4s$H Fb[lF`hl7$$!+&o=E\"GFb[lF[hl7$$!+0I)4p#Fb[l$!+;l0^\\Fb[l7$F\\al$!+_q#[ !\\Fb[l7$Fg`lF^gl7$Fb`l$!+VK^qZFb[l7$$!+r8.rAFb[l$!+0ra%o%Fb[l7$$!+0I) 4>#Fb[l$!+^_y(e%Fb[l7$$!+>LpB@Fb[l$!+tOv\"[%Fb[l7$F^_l$!+_X7oVFb[l7$Fi ^l$!+'))*o[UFb[l7$Fd^l$!+LKLDTFb[l7$F_^l$!+********RFb[lF\\[l-Fd[l6%7$ $!#IF*Fa^lQ\"8Fh[lFi[l-F`\\l6%7$7$$!+fl()[EFb[l$!+y\"Hj$\\Fb[l7$$!+TM7 ^=Fb[l$!+A3njqFb[lF\\]lF^]l-F`\\l6%7$7$$!+TM7^LFb[lF[\\m7$$!+fl()[TFb[ lF`\\mF\\]lF^]l-F$6$7U7$$!$]$!\"\"$!#!)F*7$$!+*H&)y]$Fb[l$!+mnmuyFb[l7 $$!+RoTJNFb[l$!+8,J^xFb[l7$$!+9NAqNFb[l$!+Za(=j(Fb[l7$$!+?LpBOFb[l$!+E jC=vFb[l7$$!+1I)4p$Fb[l$!+[Z@7uFb[l7$$!+t8.rPFb[l$!+%*GX:tFb[l7$$!+5gd iQFb[l$!+dn[HsFb[l7$$!+0K%Fb[l$!+%[V*[qFb[l7$$!+'o=EJ%Fb[l$!+\\Fr+(Fb[l7$$!+?0ziXFb[lF^am7$$!+:8Q(o%Fb[lFi`m7$$!+%*p,4[Fb[lFd `m7$$!+\"Hzd#\\Fb[l$!+ZH<&4(Fb[l7$$!+&zEe.&Fb[l$!+u?nbrFb[l7$$!+*)RUP^ Fb[lFe_m7$$!+G'o*G_Fb[l$!+&*GX:tFb[l7$$!+&*p,4`Fb[l$!+\\Z@7uFb[l7$$!+! o1jP&Fb[l$!+FjC=vFb[l7$$!+'[w(HaFb[l$!+[a(=j(Fb[l7$$!+hJeoaFb[l$!+9,J^ xFb[l7$$!+,Z6#\\&Fb[l$!+nnmuyFb[l7$$!$]&Fa]m$!+++++!)Fb[l7$F`dm$!+MKLD \")Fb[l7$F[dm$!+())*o[#)Fb[l7$Ffcm$!+`X7o$)Fb[l7$Facm$!+uOv\"[)Fb[l7$F \\cm$!+__y(e)Fb[l7$Fgbm$!+1ra%o)Fb[l7$Fdbm$!+WK^q()Fb[l7$$!+%zEe.&Fb[l $!+EzKW))Fb[l7$Fjam$!+`q#[!*)Fb[l7$$!+$*p,4[Fb[l$!+0ziXFb[l$!+Gn-)**)Fb[l7$$!+![4sV%Fb[lFcgm7$$ !+&o=EJ%Fb[lF^gm7$$!+0I)4>%Fb[l$!+;l0^*)Fb[l7$F]`m$!+_q#[!*)Fb[l7$Fh_m Fafm7$Fc_m$!+VK^q()Fb[l7$$!+r8.rPFb[l$!+0ra%o)Fb[l7$$!+0I)4p$Fb[l$!+^_ y(e)Fb[l7$$!+>LpBOFb[l$!+tOv\"[)Fb[l7$F_^m$!+_X7o$)Fb[l7$Fj]m$!+'))*o[ #)Fb[l7$Fe]m$!+LKLD\")Fb[l7$F_]m$!+********zFb[l-F][l6&F_[lF+$\"*++++ \"Fb[lF+-Fd[l6%7$$!$]%Fa]mFb]mQ\"5Fh[lFi[l-F$6$7U7$$!#]Fa]mFb]m7$$!+() H&)y]F/Fg]m7$$!+*QoTJ&F/F\\^m7$$!+T^B-dF/Fa^m7$$!++K$pB'F/Ff^m7$$!+d+$ )4pF/F[_m7$$!+FPJ5xF/F`_m7$$!+/,wD')F/Fe_m7$$!+\\?tT'*F/Fj_m7$$!+32Au5 Fb[lF_`m7$$!+1I)4>\"Fb[lFd`m7$$!+'o=EJ\"Fb[lFi`m7$$!+\"[4sV\"Fb[lF^am7 $$!+?0zi:Fb[lF^am7$$!+:8Q(o\"Fb[lFi`m7$$!+%*p,4=Fb[lFd`m7$$!+\"Hzd#>Fb [lF\\bm7$$!+&zEe.#Fb[lFabm7$$!+*)RUP@Fb[lFe_m7$$!+G'o*GAFb[lFibm7$$!+& *p,4BFb[lF^cm7$$!+!o1jP#Fb[lFccm7$$!+'[w(HCFb[lFhcm7$$!+hJeoCFb[lF]dm7 $$!+,Z6#\\#Fb[lFbdm7$$!$]#Fa]mFgdm7$Fh_nFjdm7$Fe_nF]em7$Fb_nF`em7$F__n Fcem7$F\\_nFfem7$Fi^nFiem7$Ff^nF\\fm7$$!+%zEe.#Fb[lFafm7$F`^nFdfm7$$!+ $*p,4=Fb[lFifm7$$!+98Q(o\"Fb[lF^gm7$$!+>0zi:Fb[lFcgm7$$!+![4sV\"Fb[lFc gm7$$!+&o=EJ\"Fb[lF^gm7$$!+0I)4>\"Fb[lF^hm7$F[]nFahm7$$!+]?tT'*F/Fafm7 $Fe\\nFehm7$$!+9PJ5xF/Fjhm7$$!+Z+$)4pF/F_im7$$!+$>LpB'F/Fdim7$$!+P^B-d F/Fgim7$$!+'QoTJ&F/Fjim7$$!+')H&)y]F/F]jm7$F`[nF`jmFbjm-Fd[l6%7$$!$]\" Fa]mFb]mQ#10Fh[lFi[l-F$6$7U7$$\"#SF*Fa^l7$$\"+,Z6#*RFb[lFf^l7$$\"+hJeo RFb[lF[_l7$$\"+'[w(HRFb[lF`_l7$$\"+!o1j(QFb[lFe_l7$$\"+%*p,4QFb[lFj_l7 $$\"+F'o*GPFb[lF_`l7$$\"+!*RUPOFb[lFd`l7$$\"+&zEe`$Fb[lFi`l7$$\"+#HzdU $Fb[lF^al7$$\"+%*p,4LFb[lFcal7$$\"+98Q(=$Fb[lFhal7$$\"+>0ziIFb[lF]bl7$ $\"+![4s$HFb[lF]bl7$$\"+&o=E\"GFb[lFhal7$$\"+1I)4p#Fb[lFcal7$$\"+42AuD Fb[lF[cl7$$\"+0K#Fb[lF]dl7$$\"+?LpB@Fb[lFbdl7$$\"+9NAq?Fb[lFgdl7$$\"+RoTJ?Fb[lF \\el7$$\"+*H&)y+#Fb[lFael7$$\"#?F*Fdel7$FdhnFgel7$FahnFjel7$F^hnF]fl7$ F[hnF`fl7$FhgnFcfl7$FegnFffl7$FbgnFifl7$$\"+1KFb[lF_`m7$$\"+%*p,4=Fb[l Fd`m7$$\"+98Q(o\"Fb[lFi`m7$$\"+>0zi:Fb[lF^am7$$\"+![4sV\"Fb[lF^am7$$\" +&o=EJ\"Fb[lFi`m7$$\"+1I)4>\"Fb[lFd`m7$$\"+42Au5Fb[lF\\bm7$$\"+a?tT'*F /Fabm7$$\"+2,wD')F/Fe_m7$$\"+LpB' F/Fccm7$$\"+Q^B-dF/Fhcm7$$\"+(QoTJ&F/F]dm7$$\"+')H&)y]F/Fbdm7$$\"#]Fa] mFgdm7$$\"+()H&)y]F/Fjdm7$$\"+*QoTJ&F/F]em7$$\"+T^B-dF/F`em7$$\"+*>LpB 'F/Fcem7$$\"+a+$)4pF/Ffem7$$\"+BPJ5xF/Fiem7$$\"+8,wD')F/F\\fm7$$\"+h?t T'*F/Fafm7$Fb`oFdfm7$$\"+2I)4>\"Fb[lFifm7$$\"+'o=EJ\"Fb[lF^gm7$$\"+\"[ 4sV\"Fb[lFcgm7$$\"+?0zi:Fb[lFcgm7$$\"+:8Q(o\"Fb[lF^gm7$$\"+&*p,4=Fb[lF ^hm7$F]_oFahm7$Fj^oFafm7$Fg^oFehm7$$\"+H'o*GAFb[lFjhm7$$\"+&*p,4BFb[lF _im7$$\"+\"o1jP#Fb[lFdim7$F[^oFgim7$Fh]oFjim7$Fe]oF]jm7$Fb]oF`jmFbjm-F d[l6%7$$\"$]\"Fa]mFb]mQ#13Fh[lFi[l-F$6$7U7$$\"$]&Fa]mFb]m7$$\"+,Z6#\\& Fb[lFg]m7$$\"+hJeoaFb[lF\\^m7$$\"+'[w(HaFb[lFa^m7$$\"+!o1jP&Fb[lFf^m7$ $\"+%*p,4`Fb[lF[_m7$$\"+F'o*G_Fb[lF`_m7$$\"+!*RUP^Fb[lFe_m7$$\"+&zEe.& Fb[lFj_m7$$\"+#Hzd#\\Fb[lF_`m7$$\"+%*p,4[Fb[lFd`m7$$\"+98Q(o%Fb[lFi`m7 $$\"+>0ziXFb[lF^am7$$\"+![4sV%Fb[lF^am7$$\"+&o=EJ%Fb[lFi`m7$$\"+1I)4>% Fb[lFd`m7$$\"+42AuSFb[lF\\bm7$$\"+0K%Fb[lFifm7$$\"+'o=EJ%Fb[lF^gm7$$\"+\"[ 4sV%Fb[lFcgm7$$\"+?0ziXFb[lFcgm7$$\"+:8Q(o%Fb[lF^gm7$$\"+&*p,4[Fb[lF^h m7$F_hoFahm7$F\\hoFafm7$FigoFehm7$$\"+H'o*G_Fb[lFjhm7$$\"+&*p,4`Fb[lF_ im7$$\"+\"o1jP&Fb[lFdim7$F]goFgim7$FjfoFjim7$FgfoF]jm7$FdfoF`jmFbjm-Fd [l6%7$$\"$]%Fa]mFb]mQ#15Fh[lFi[l-%(SCALINGG6#%,CONSTRAINEDG-%*AXESSTYL EG6#%%NONEG" 1 2 0 1 10 0 2 9 1 1 1 1.000000 45.000000 45.000000 0 0 " Curve 1" "Curve 2" "Curve 3" "Curve 4" "Curve 5" "Curve 6" "Curve 7" " Curve 8" "Curve 9" "Curve 10" "Curve 11" "Curve 12" "Curve 13" "Curve \+ 14" "Curve 15" "Curve 16" "Curve 17" "Curve 18" "Curve 19" "Curve 20" }}{TEXT -1 0 "" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 89 "Pour repr\351sen ter un arbre binaire, nous utiliserons une fonction non \351valu\351e \+ de la forme " }{TEXT 266 42 "BINARYTREE(clef, fils_gauche, fils_droite )" }{TEXT -1 81 ". \nL'arbre vide, qui est un cas particulier d'arbre \+ binaire, sera repr\351sent\351 par " }{TEXT 267 13 "BINARYTREE( )" } {TEXT -1 261 ".\nL'arbre binaire pr\351c\351dent sera donc repr\351sen t\351 par:\nBINARYTREE(11,BINARYTREE(8,BINARYTREE(5,BINARYTREE(),BINAR YTREE()),BINARYTREE(10,BINARYTREE(),BINARYTREE())),\nBINARYTREE(14,BIN ARYTREE(13,BINARYTREE(),BINARYTREE()),BINARYTREE(15,BINARYTREE(),BINAR YTREE())))" }}{PARA 0 "" 0 "" {TEXT -1 47 "qui sera affich\351 plus si mplement sous la forme " }{XPPEDIT 18 0 "[11, [8, [5, ``, ``], [10, `` , ``]], [14, [13, ``, ``], [15, ``, ``]]]" "6#7%\"#67%\"\")7%\"\"&%!GF )7%\"#5F)F)7%\"#97%\"#8F)F)7%\"#:F)F)" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart; " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 27 "D\351finition de l'arbre vide :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "emptytree:=BINARYTREE( );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%*emptytreeG-%+BINARYTREEG6\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 53 "D\351claration du type correspo ndant \340 un arbre binaire:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 405 "`type/binarytree`:=proc(x)\n if type( x, 'specfunc(anything, BINARYTREE)' ) then\n if (nargs = 1 or x = emptytree or (\n \+ type( leftchild(x), 'binarytree'(args[2]) ) and\n t ype( rightchild(x), 'binarytree'(args[2]) ) and\n type( op( 2,x),args[2]))\n ) then\n true\n else\n \+ false\n end if\n else\n false\n end if\nend \+ proc:\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "`type/binarytree`(emptyt ree);" }{TEXT -1 0 "" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 49 "D\351claration du type corresponda nt \340 l'arbre vide:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "`t ype/emptytree`:= e -> evalb( e = emptytree );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%/type/emptytreeGf*6#%\"eG6\"6$%)operatorG%&arrowGF(-% &evalbG6#/9$%*emptytreeGF(F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "`type/emptytree`(emptytree);" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#%%trueG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 55 "D\351finition des fi ls gauche et droit d'un arbre binaire:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 153 "leftchild:=proc(tree)\n if tree = emptytree then \n error \"leftchild operation is invalid on an empty tree\";\n end if;\n op(2,tree)\nend proc:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 155 "rightchild:=proc(tree)\n if tree = emptytree then \n error \"rightchild operation is invalid on an empty tree\"; \n end if;\n op(3,tree)\nend proc:\n" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 50 "Proc\351dure retournant le nombre de fils d'un arbre:" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 207 "numberofchildren:=proc(tre e::binarytree)\n local nb;\n nb:=2;\n if leftchild(tree) \+ = emptytree then nb:=nb-1 end if;\n if rightchild(tree) = emptytr ee then nb:=nb-1 end if;\n nb\nend proc: \n" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 41 "Fonction d'impression d'un arbre binaire:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 79 "`print/BINARYTREE`:=proc()\n `if`( nargs > 0, [args], `` )\nend proc:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 216 "print(BINARYTREE(11,BINARYTREE(8,B INARYTREE(5,BINARYTREE(),BINARYTREE()),\nBINARYTREE(10,BINARYTREE(),BI NARYTREE())),BINARYTREE(14,BINARYTREE(13,BINARYTREE(),\nBINARYTREE()), BINARYTREE(15,BINARYTREE(),BINARYTREE()))));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%\"#67%\"\")7%\"\"&%!GF)7%\"#5F)F)7%\"#97%\"#8F)F)7%\" #:F)F)" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 57 "Fonctions de repr\351se ntation graphique d'un arbre binaire:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "with(plottools): with(plots):" }}{PARA 7 "" 1 "" {TEXT -1 62 "Warning, the names arrow and changecoords have been redef ined\n" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 62 "feuille (disque vert), \+ n\234ud (disque gris), branche (en noir). " }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 107 "leafplot:=proc(x,y,r,car)\ndisk([x,y],r,color=gree n),textplot([x,y,car],font=[HELVETICA,BOLD,12])\nend proc:\n" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 106 "nodeplot:=proc(x,y,r,car)\n disk([x,y],r,color=gray),textplot([x,y,car],font=[HELVETICA,BOLD,12]) \nend proc:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 252 "branchplo t:=proc(x,y,dx,dy)\nlocal r,a;\nr:=dy/4: a:=arctan(dy/dx): \nline([x+r *cos(a),y-r*sin(a)], [x+dx-r*cos(a),y-dy+r*sin(a)], color=black, lines tyle=1),\nline([x-r*cos(a),y-r*sin(a)], [x-dx+r*cos(a),y-dy+r*sin(a)], color=black, linestyle=1)\nend proc:\n" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 74 "Liste des largeurs et d\351 placements relatifs utilis\351s en fonction du rayon " }{TEXT 268 2 "r " }{TEXT -1 33 "des disques repr\351sentant les n\234ud" }{TEXT 256 2 "s " }{TEXT -1 1 ":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 141 "w idthlist:=proc(r::numeric)\n [r,13.5*r,19.5*r,22.5*r,25*r]\nend proc: \n\ndeplist:=proc(r::numeric)\n [1.5*r,3*r,6*r,12.5*r,12.51*r]\nend p roc:\n " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "widthlist(10), d eplist(10);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$7'\"#5$\"%]8!\"\"$\"%]> F'$\"%]AF'\"$]#7'$\"$]\"F'\"#I\"#g$\"%]7F'$\"&5D\"!\"#" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 13 "La proc\351du re " }{TEXT 257 8 "drawtree" }{TEXT -1 84 " utilise les proc\351dures \+ pr\351c\351dentes pour repr\351senter graphiquement un arbre binaire. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 938 "drawtree:=proc(tree::b inarytree)\nlocal rep,wl,h,dl,dx,w,r,P;\n\nrep := proc(element,x,y,r,w ,dx)\nlocal d,g,h,m,w1,w2,dx1,dx2; \n if element<>emptytree then\n \+ d:=rightchild(element): g:=leftchild(element):\n member(dx ,deplist(r),'m'): \n if m>1 then dx1:=dl[m-1] else dx1:=dx end i f;\n if d=emptytree and g=emptytree then \n P:=P,leafpl ot(x,y,r,op(1,element)) \n else \n P:=P,nodeplot(x,y,r, op(1,element)),branchplot(x,y,dx1,4*r)\n end if:\n if g<>e mptytree then \n rep(g,x-dx1,y-4*r,r,w1,dx1) \n end if: \n if d<>emptytree then \n rep(d,x+dx1,y-4*r,r,w1,dx1) \+ \n end if:\n end if:\nend proc:\n\nif tree=empytree then retur n end if;\nr:=10: wl:=widthlist(r): dl:=deplist(r): h:=height(tree):\n if h>5 then w:=ls[5] else w:=wl[h] end if:\nif h>5 then dx:=dl[5] else dx:=dl[h] end if:\nP:=NULL:\nrep(tree,0,0,r,w,dx):\ndisplay(P,scaling =constrained,axes=none);\nend proc:\n" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 269 34 "Op\351rations sur les arbres binaires" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 276 7 "Hauteur" }{TEXT -1 82 " d'un arbre (l'arbre vid e a une hauteur nulle, l'arbre-exemple a une hauteur de 3)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 230 "height:=proc(tree::binarytree)\n \+ local ng,nd;\n if tree = emptytree then 0\n else \n \+ ng:=procname(leftchild(tree)):\n nd:=procname(rightchild(t ree)):\n `if`(ng>nd,ng+1,nd+1)\n end if\nend proc:\n" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 13 "Calcul de la " }{TEXT 277 6 "taill e" }{TEXT -1 46 ", c'est \340 dire du nombre de noeuds d'un arbre:" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 142 "size:=proc(tree::binarytre e)\n if tree = emptytree then 0\n else procname(leftchild(tree))+p rocname(rightchild(tree))+1\n end if\nend proc:\n" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 52 "Insertion d'un n\234ud \351tiquet\351 par une c lef num\351rique " }{TEXT 270 3 "key" }{TEXT -1 165 ". Deux n\234uds n e peuvent avoir la m\352me clef. \nL'insertion se fait r\351cursivemen t par une comparaison de la valeur de la clef avec la valeur de la cle f du n\234ud racine. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 462 "i nsert:=proc(tree::binarytree, key::numeric)\n if tree = emptytr ee then\n 'BINARYTREE'(key,emptytree,emptytree)\n el if key > op(1,tree) then\n 'BINARYTREE'(op(1..2,tree),procn ame(rightchild(tree),key));\n elif key < op(1,tree) then\n \+ 'BINARYTREE'(op(1,tree),procname(leftchild(tree),key),\n \+ rightchild(tree))\n else\n error \"dupli cate keys in binary tree\"\n end if\nend proc:\n" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 28 "Cr\351ation de l'arbre-exemple " }{TEXT 271 5 "tree1" }{TEXT -1 38 " par insertion successives des clefs: " }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 161 "tree1:=emptytree: keys:=[1 1,8,14,5,10,15,13]:\nfor key in keys do tree1:=insert(tree1,key) od: \ntree1; drawtree(tree1); hauteur=height(tree1),taille=size(tree1); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%\"#67%\"\")7%\"\"&%!GF)7%\"#5F)F)7 %\"#97%\"#8F)F)7%\"#:F)F)" }}{PARA 13 "" 1 "" {GLPLOT2D 210 196 196 {PLOTDATA 2 "68-%)POLYGONSG6$7U7$$\"#5\"\"!$F*F*7$$\"+8q9@**!\"*$\"+OB L`7F/7$$\"+6;$eo*F/$\"+t))*o[#F/7$$\"+f[w(H*F/$\"+FbC\"o$F/7$$\"++o1j( )F/$\"+Tn`<[F/7$$\"+V*p,4)F/$\"+CD&y(eF/7$$\"+tio*G(F/$\"+g5ZXoF/7$$\" +'*)RUP'F/$\"+HC80xF/7$$\"+^zEe`F/$\"+a#zKW)F/7$$\"+=HzdUF/$\"+B0F[!*F /7$$\"+Q*p,4$F/$\"+l^c5&*F/7$$\"+UJ\"Q(=F/$\"+3D(G#)*F/7$$\"+D>0zi!#5$ \"+%Gn-)**F/7$$!+m>0ziFaoFbo7$$!+YJ\"Q(=F/$\"+2D(G#)*F/7$$!+U*p,4$F/$ \"+j^c5&*F/7$$!+8HzdUF/$\"+E0F[!*F/7$$!+YzEe`F/$\"+d#zKW)F/7$$!+$*)RUP 'F/$\"+JC80xF/7$$!+$G'o*G(F/$\"+]5ZXoF/7$$!+]*p,4)F/$\"+9D&y(eF/7$$!+0 o1j()F/$\"+Kn`<[F/7$$!+i[w(H*F/$\"+>bC\"o$F/7$$!+8;$eo*F/$\"+l))*o[#F/ 7$$!+9q9@**F/$\"+IBL`7F/7$$FaoF*$!+:w1-T!#=7$$!+8q9@**F/$!+QBL`7F/7$$! +6;$eo*F/$!+t))*o[#F/7$$!+f[w(H*F/$!+FbC\"o$F/7$$!+,o1j()F/$!+Sn`<[F/7 $$!+Y*p,4)F/$!+?D&y(eF/7$$!+xio*G(F/$!+c5ZXoF/7$$!+())RUP'F/$!+PC80xF/ 7$$!+RzEe`F/$!+i#zKW)F/7$$!+1HzdUF/$!+H0F[!*F/7$$!+M*p,4$F/$!+m^c5&*F/ 7$$!+QJ\"Q(=F/$!+4D(G#)*F/7$$!+%)=0ziFao$!+&Gn-)**F/7$$\"+2?0ziFao$!+% Gn-)**F/7$$\"+]J\"Q(=F/$!+2D(G#)*F/7$$\"+Y*p,4$F/$!+i^c5&*F/7$$\"+#Fb[l$!+[Z@7MFb[l7$$!+t8.rAFb[l$!+%*GX:LFb[l7$$!+ 5gdiBFb[l$!+dn[HKFb[l7$$!+0K+$Fb[l7$$!+?0ziIFb[lF]bl7$$!+:8Q(=$Fb[lFhal7$$!+%*p,4LFb [lFcal7$$!+\"HzdU$Fb[l$!+ZH<&4$Fb[l7$$!+&zEe`$Fb[l$!+u?nbJFb[l7$$!+*)R UPOFb[lFd`l7$$!+G'o*GPFb[l$!+&*GX:LFb[l7$$!+&*p,4QFb[l$!+\\Z@7MFb[l7$$ !+!o1j(QFb[l$!+FjC=NFb[l7$$!+'[w(HRFb[l$!+[a(=j$Fb[l7$$!+hJeoRFb[l$!+9 ,J^PFb[l7$$!+,Z6#*RFb[l$!+nnmuQFb[l7$Fa^l$!+++++SFb[l7$F_el$!+MKLDTFb[ l7$Fjdl$!+())*o[UFb[l7$Fedl$!+`X7oVFb[l7$F`dl$!+uOv\"[%Fb[l7$F[dl$!+__ y(e%Fb[l7$Ffcl$!+1ra%o%Fb[l7$Fccl$!+WK^qZFb[l7$$!+%zEe`$Fb[l$!+EzKW[Fb [l7$Fibl$!+`q#[!\\Fb[l7$$!+$*p,4LFb[l$!+0ziIFb[l$!+Gn-)*\\Fb[l7$$!+![4s$HFb[lF`hl7$$!+&o=E\"GFb [lF[hl7$$!+0I)4p#Fb[l$!+;l0^\\Fb[l7$F\\al$!+_q#[!\\Fb[l7$Fg`lF^gl7$Fb` l$!+VK^qZFb[l7$$!+r8.rAFb[l$!+0ra%o%Fb[l7$$!+0I)4>#Fb[l$!+^_y(e%Fb[l7$ $!+>LpB@Fb[l$!+tOv\"[%Fb[l7$F^_l$!+_X7oVFb[l7$Fi^l$!+'))*o[UFb[l7$Fd^l $!+LKLDTFb[l7$F_^l$!+********RFb[lF\\[l-Fd[l6%7$$!#IF*Fa^lQ\"8Fh[lFi[l -F`\\l6%7$7$$!+fl()[EFb[l$!+y\"Hj$\\Fb[l7$$!+TM7^=Fb[l$!+A3njqFb[lF\\] lF^]l-F`\\l6%7$7$$!+TM7^LFb[lF[\\m7$$!+fl()[TFb[lF`\\mF\\]lF^]l-F$6$7U 7$$!$]$!\"\"$!#!)F*7$$!+*H&)y]$Fb[l$!+mnmuyFb[l7$$!+RoTJNFb[l$!+8,J^xF b[l7$$!+9NAqNFb[l$!+Za(=j(Fb[l7$$!+?LpBOFb[l$!+EjC=vFb[l7$$!+1I)4p$Fb[ l$!+[Z@7uFb[l7$$!+t8.rPFb[l$!+%*GX:tFb[l7$$!+5gdiQFb[l$!+dn[HsFb[l7$$! +0K%Fb[l$!+%[V *[qFb[l7$$!+'o=EJ%Fb[l$!+\\Fr+(Fb[l7$$!+? 0ziXFb[lF^am7$$!+:8Q(o%Fb[lFi`m7$$!+%*p,4[Fb[lFd`m7$$!+\"Hzd#\\Fb[l$!+ ZH<&4(Fb[l7$$!+&zEe.&Fb[l$!+u?nbrFb[l7$$!+*)RUP^Fb[lFe_m7$$!+G'o*G_Fb[ l$!+&*GX:tFb[l7$$!+&*p,4`Fb[l$!+\\Z@7uFb[l7$$!+!o1jP&Fb[l$!+FjC=vFb[l7 $$!+'[w(HaFb[l$!+[a(=j(Fb[l7$$!+hJeoaFb[l$!+9,J^xFb[l7$$!+,Z6#\\&Fb[l$ !+nnmuyFb[l7$$!$]&Fa]m$!+++++!)Fb[l7$F`dm$!+MKLD\")Fb[l7$F[dm$!+())*o[ #)Fb[l7$Ffcm$!+`X7o$)Fb[l7$Facm$!+uOv\"[)Fb[l7$F\\cm$!+__y(e)Fb[l7$Fgb m$!+1ra%o)Fb[l7$Fdbm$!+WK^q()Fb[l7$$!+%zEe.&Fb[l$!+EzKW))Fb[l7$Fjam$!+ `q#[!*)Fb[l7$$!+$*p,4[Fb[l$!+0ziXFb[l$!+Gn-)**)Fb[l7$$!+![4sV%Fb[lFcgm7$$!+&o=EJ%Fb[lF^gm7$$!+0 I)4>%Fb[l$!+;l0^*)Fb[l7$F]`m$!+_q#[!*)Fb[l7$Fh_mFafm7$Fc_m$!+VK^q()Fb[ l7$$!+r8.rPFb[l$!+0ra%o)Fb[l7$$!+0I)4p$Fb[l$!+^_y(e)Fb[l7$$!+>LpBOFb[l $!+tOv\"[)Fb[l7$F_^m$!+_X7o$)Fb[l7$Fj]m$!+'))*o[#)Fb[l7$Fe]m$!+LKLD\") Fb[l7$F_]m$!+********zFb[l-F][l6&F_[lF+$\"*++++\"Fb[lF+-Fd[l6%7$$!$]%F a]mFb]mQ\"5Fh[lFi[l-F$6$7U7$$!#]Fa]mFb]m7$$!+()H&)y]F/Fg]m7$$!+*QoTJ&F /F\\^m7$$!+T^B-dF/Fa^m7$$!++K$pB'F/Ff^m7$$!+d+$)4pF/F[_m7$$!+FPJ5xF/F` _m7$$!+/,wD')F/Fe_m7$$!+\\?tT'*F/Fj_m7$$!+32Au5Fb[lF_`m7$$!+1I)4>\"Fb[ lFd`m7$$!+'o=EJ\"Fb[lFi`m7$$!+\"[4sV\"Fb[lF^am7$$!+?0zi:Fb[lF^am7$$!+: 8Q(o\"Fb[lFi`m7$$!+%*p,4=Fb[lFd`m7$$!+\"Hzd#>Fb[lF\\bm7$$!+&zEe.#Fb[lF abm7$$!+*)RUP@Fb[lFe_m7$$!+G'o*GAFb[lFibm7$$!+&*p,4BFb[lF^cm7$$!+!o1jP #Fb[lFccm7$$!+'[w(HCFb[lFhcm7$$!+hJeoCFb[lF]dm7$$!+,Z6#\\#Fb[lFbdm7$$! $]#Fa]mFgdm7$Fh_nFjdm7$Fe_nF]em7$Fb_nF`em7$F__nFcem7$F\\_nFfem7$Fi^nFi em7$Ff^nF\\fm7$$!+%zEe.#Fb[lFafm7$F`^nFdfm7$$!+$*p,4=Fb[lFifm7$$!+98Q( o\"Fb[lF^gm7$$!+>0zi:Fb[lFcgm7$$!+![4sV\"Fb[lFcgm7$$!+&o=EJ\"Fb[lF^gm7 $$!+0I)4>\"Fb[lF^hm7$F[]nFahm7$$!+]?tT'*F/Fafm7$Fe\\nFehm7$$!+9PJ5xF/F jhm7$$!+Z+$)4pF/F_im7$$!+$>LpB'F/Fdim7$$!+P^B-dF/Fgim7$$!+'QoTJ&F/Fjim 7$$!+')H&)y]F/F]jm7$F`[nF`jmFbjm-Fd[l6%7$$!$]\"Fa]mFb]mQ#10Fh[lFi[l-F$ 6$7U7$$\"#SF*Fa^l7$$\"+,Z6#*RFb[lFf^l7$$\"+hJeoRFb[lF[_l7$$\"+'[w(HRFb [lF`_l7$$\"+!o1j(QFb[lFe_l7$$\"+%*p,4QFb[lFj_l7$$\"+F'o*GPFb[lF_`l7$$ \"+!*RUPOFb[lFd`l7$$\"+&zEe`$Fb[lFi`l7$$\"+#HzdU$Fb[lF^al7$$\"+%*p,4LF b[lFcal7$$\"+98Q(=$Fb[lFhal7$$\"+>0ziIFb[lF]bl7$$\"+![4s$HFb[lF]bl7$$ \"+&o=E\"GFb[lFhal7$$\"+1I)4p#Fb[lFcal7$$\"+42AuDFb[lF[cl7$$\"+0K#Fb[lF]dl7$$\"+ ?LpB@Fb[lFbdl7$$\"+9NAq?Fb[lFgdl7$$\"+RoTJ?Fb[lF\\el7$$\"+*H&)y+#Fb[lF ael7$$\"#?F*Fdel7$FdhnFgel7$FahnFjel7$F^hnF]fl7$F[hnF`fl7$FhgnFcfl7$Fe gnFffl7$FbgnFifl7$$\"+1KFb[lF_`m7$$\"+%*p,4=Fb[lFd`m7$$\"+98Q(o\"Fb[lF i`m7$$\"+>0zi:Fb[lF^am7$$\"+![4sV\"Fb[lF^am7$$\"+&o=EJ\"Fb[lFi`m7$$\"+ 1I)4>\"Fb[lFd`m7$$\"+42Au5Fb[lF\\bm7$$\"+a?tT'*F/Fabm7$$\"+2,wD')F/Fe_ m7$$\"+LpB'F/Fccm7$$\"+Q^B-dF/Fhc m7$$\"+(QoTJ&F/F]dm7$$\"+')H&)y]F/Fbdm7$$\"#]Fa]mFgdm7$$\"+()H&)y]F/Fj dm7$$\"+*QoTJ&F/F]em7$$\"+T^B-dF/F`em7$$\"+*>LpB'F/Fcem7$$\"+a+$)4pF/F fem7$$\"+BPJ5xF/Fiem7$$\"+8,wD')F/F\\fm7$$\"+h?tT'*F/Fafm7$Fb`oFdfm7$$ \"+2I)4>\"Fb[lFifm7$$\"+'o=EJ\"Fb[lF^gm7$$\"+\"[4sV\"Fb[lFcgm7$$\"+?0z i:Fb[lFcgm7$$\"+:8Q(o\"Fb[lF^gm7$$\"+&*p,4=Fb[lF^hm7$F]_oFahm7$Fj^oFaf m7$Fg^oFehm7$$\"+H'o*GAFb[lFjhm7$$\"+&*p,4BFb[lF_im7$$\"+\"o1jP#Fb[lFd im7$F[^oFgim7$Fh]oFjim7$Fe]oF]jm7$Fb]oF`jmFbjm-Fd[l6%7$$\"$]\"Fa]mFb]m Q#13Fh[lFi[l-F$6$7U7$$\"$]&Fa]mFb]m7$$\"+,Z6#\\&Fb[lFg]m7$$\"+hJeoaFb[ lF\\^m7$$\"+'[w(HaFb[lFa^m7$$\"+!o1jP&Fb[lFf^m7$$\"+%*p,4`Fb[lF[_m7$$ \"+F'o*G_Fb[lF`_m7$$\"+!*RUP^Fb[lFe_m7$$\"+&zEe.&Fb[lFj_m7$$\"+#Hzd#\\ Fb[lF_`m7$$\"+%*p,4[Fb[lFd`m7$$\"+98Q(o%Fb[lFi`m7$$\"+>0ziXFb[lF^am7$$ \"+![4sV%Fb[lF^am7$$\"+&o=EJ%Fb[lFi`m7$$\"+1I)4>%Fb[lFd`m7$$\"+42AuSFb [lF\\bm7$$\"+0K%Fb[lFifm7$$\"+'o=EJ%Fb[lF^gm7$$\"+\"[4sV%Fb[lFcgm7$$\"+?0zi XFb[lFcgm7$$\"+:8Q(o%Fb[lF^gm7$$\"+&*p,4[Fb[lF^hm7$F_hoFahm7$F\\hoFafm 7$FigoFehm7$$\"+H'o*G_Fb[lFjhm7$$\"+&*p,4`Fb[lF_im7$$\"+\"o1jP&Fb[lFdi m7$F]goFgim7$FjfoFjim7$FgfoF]jm7$FdfoF`jmFbjm-Fd[l6%7$$\"$]%Fa]mFb]mQ# 15Fh[lFi[l-%*AXESSTYLEG6#%%NONEG-%(SCALINGG6#%,CONSTRAINEDG" 1 2 0 1 10 0 2 9 1 1 1 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" "C urve 3" "Curve 4" "Curve 5" "Curve 6" "Curve 7" "Curve 8" "Curve 9" "C urve 10" "Curve 11" "Curve 12" "Curve 13" "Curve 14" "Curve 15" "Curve 16" "Curve 17" "Curve 18" "Curve 19" "Curve 20" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6$/%(hauteurG\"\"$/%'tailleG\"\"(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 31 "Recherche r\351cursive d'une clef " }{TEXT 272 4 " k ey" }{TEXT -1 23 " dans un arbre binaire:" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 366 "find:=proc(tree::binarytree, key::numeric)\n \+ if tree = emptytree then\n error \"key not found in binar y tree\"\n elif key < op(1,tree) then\n procname(lef tchild(tree),key)\n elif key > op(1,tree) then\n proc name(rightchild(tree),key)\n else\n cat(op(1,tree),` f ound in binary tree`)\n end if\nend proc:\n" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 31 "find(tree1,12); find(tree1,13);" }}{PARA 8 " " 1 "" {TEXT -1 46 "Error, (in find) key not found in binary tree\n" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#%813~found~in~binary~treeG" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 62 "Proc\351dure retournant le sous-ar bre dont la racine a pour clef " }{TEXT 273 3 "key" }{TEXT -1 1 ":" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 334 "subtree:=proc(tree::binary tree, key::numeric)\n if tree = emptytree then\n err or \"key not found in binary tree\"\n elif key < op(1,tree) the n\n procname(leftchild(tree),key)\n elif key > op(1, tree) then\n procname(rightchild(tree),key)\n else\n \+ tree\n end if\nend proc:\n" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 21 "s:=subtree(tree1,14);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"sG7%\"#97%\"#8%!GF)7%\"#:F)F)" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 54 "Suppression d'un n\234ud \351tiquet\351 par une clef num \351rique " }{TEXT 274 3 "key" }{TEXT -1 2 ". " }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 867 "delete:=proc(tree::binarytree, key::numeric) \n local child;\n \n if tree = emptytree then\n \+ error \"key not found in binary tree\";\n elif key < op(1,tre e) then\n BINARYTREE(op(1,tree),procname(leftchild(tree),key ),\n rightchild(tree));\n elif key > op(1,tre e) then\n BINARYTREE(op(1..2,tree),procname(rightchild(tree ),key));\n elif leftchild(tree) = emptytree then\n r ightchild(tree);\n elif rightchild(tree) = emptytree then\n \+ leftchild(tree);\n else\n child:= leftchild( tree);\n while(rightchild(child) != emptytree) do\n \+ child:= rightchild(child);\n end do;\n BI NARYTREE(op(1,child),\n procname(leftchild(tree),op( 1,child)),\n rightchild(tree));\n end if;\nen d proc:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "delete(s,13); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%\"#9%!G7%\"#:F%F%" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 275 42 "Parcours en profondeur d'un arbre binair e:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 73 "Parcours r\351cursif pr\351 fix\351: dans le sens n\234ud - fils gauche - fils droit:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 338 "prefixtraversal:=proc(tree::binary tree)\n local path, disp;\n\n disp:=proc(tree::binarytree)\n if tree = emptytree then return end if;\n path:= path, \+ op(1,tree);\n procname(leftchild(tree));\n procname(righ tchild(tree))\n end proc;\n \n path:=NULL;\n disp( tree);\n path \nend proc:\n " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "prefixtraversal(tree1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6)\"#6\"\")\"\"&\"#5\"#9\"#8\"#:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 170 "Parcours r\351cursif infix\351: dans le sens fils gauche - n \234ud - fils droit:\non s'aper\347oit que ce parcours correspond \340 un tri des valeurs des clefs dans l'ordre croissant.\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 336 "infixtraversal:=proc(tree::binaryt ree)\n local path, disp;\n\n disp:=proc(tree::binarytree)\n \+ if tree = emptytree then return end if;\n procname(leftc hild(tree));\n path:= path, op(1,tree);\n procname(right child(tree))\n end proc;\n \n path:=NULL;\n disp(t ree);\n path \n end proc: \n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "infixtraversal(tree1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6)\"\"&\"\")\"#5\"#6\"#8\"#9\"#:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 75 "Parcours r\351cursif postfix\351: dans le sens fils gauche - \+ fils droit - n\234ud:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 334 "p ostfixtraversal:=proc(tree::binarytree)\n local path, disp;\n\n \+ disp:=proc(tree::binarytree)\n if tree = emptytree then ret urn end if;\n procname(leftchild(tree));\n procname(righ tchild(tree));\n path:= path, op(1,tree)\n end proc;\n \+ \n path:=NULL;\n disp(tree);\n path \nend proc:\n " } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "postfixtraversal(tree1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6)\"\"&\"#5\"\")\"#8\"#:\"#9\"#6" }}} {EXCHG {PARA 0 "" 0 "" {TEXT 278 39 "Parcours en largeur d'un arbre bi naire:" }{TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 19 "Parcours r\351cursif (" }{TEXT 279 23 "breadth first traversal" }{TEXT -1 141 ") en largeur: on parcourt les n\234uds de niveau 1 (racine \"11\"), c eux de niveau 1 (\"8\",\"14\"), puis ceux de niveau 2 (\"5\",\"10\",\" 13\",\"15\") etc.. " }}{PARA 0 "" 0 "" {TEXT -1 53 "jusqu'\340 atteind re le niveau de la hauteur de l'arbre:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 582 "bftraversal:=proc(tree::binarytree)\n local pat h, disp, i;\n\n disp:=proc(tree::binarytree, currentlevel::nonneg int, level::nonnegint)\n if tree = emptytree then return end if ;\n if currentlevel=level then path:=path,op(1,tree)\n e lse \n procname(leftchild(tree),currentlevel+1,level);\n \+ procname(rightchild(tree),currentlevel+1,level);\n end if\n end proc;\n \n path:=NULL;\n if tree = empty tree then return NULL end if;\n for i to height(tree) do\n \+ disp(tree,1,i)\n end do; \n path \n end proc:\n" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "bftraversal(tree1);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6)\"#6\"\")\"#9\"\"&\"#5\"#8\"#:" }}} {EXCHG {PARA 0 "" 0 "" {TEXT 281 15 "Arbre \351quilibr\351" }{TEXT -1 2 " (" }{TEXT 280 13 "balanced tree" }{TEXT -1 28 "):\nUn arbre binair e est dit " }{TEXT 282 9 "\351quilibr\351" }{TEXT -1 142 " si tout n \234ud est \351quilibr\351, ce qui signifie que l'\351cart entre les h auteurs de ses fils gauche et droit ne peut d\351passer 1 en valeur ab solue:\n" }{XPPEDIT 18 0 "abs(hauteur(fils_gauche)-hauteur(fils_droit) ) <= 1;" "6#1-%$absG6#,&-%(hauteurG6#%,fils_gaucheG\"\"\"-F)6#%+fils_d roitG!\"\"F," }{TEXT -1 1 "." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 333 "isbalanced:=proc(tree::binarytree)\n local l,r,nl,nr;\n \+ if tree = emptytree then true\n else \n l:=leftchild(tr ee): r:=rightchild(tree):\n nl:= height(l): nr:=height(r):\n \+ if abs(nl-nr)>1 then return false \n else\n \+ procname(l): procname(r):\n end if\n end if\nend proc:\n \+ " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 16 "L'arbre-exemple " }{TEXT 283 5 "tree1" }{TEXT -1 15 " est \351quilibr\351:" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 18 "isbalanced(tree1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 160 " tree2:=emptytree: keys:=[8,5,13,11,15,14,10]:\nfor key in keys do tree 2:=insert(tree2,key) od:\ntree2; drawtree(tree2); hauteur=height(tree2 ),taille=size(tree2); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%\"\")7%\" \"&%!GF'7%\"#87%\"#67%\"#5F'F'F'7%\"#:7%\"#9F'F'F'" }}{PARA 13 "" 1 " " {GLPLOT2D 255 237 237 {PLOTDATA 2 "6:-%)POLYGONSG6$7U7$$\"#5\"\"!$F* F*7$$\"+8q9@**!\"*$\"+OBL`7F/7$$\"+6;$eo*F/$\"+t))*o[#F/7$$\"+f[w(H*F/ $\"+FbC\"o$F/7$$\"++o1j()F/$\"+Tn`<[F/7$$\"+V*p,4)F/$\"+CD&y(eF/7$$\"+ tio*G(F/$\"+g5ZXoF/7$$\"+'*)RUP'F/$\"+HC80xF/7$$\"+^zEe`F/$\"+a#zKW)F/ 7$$\"+=HzdUF/$\"+B0F[!*F/7$$\"+Q*p,4$F/$\"+l^c5&*F/7$$\"+UJ\"Q(=F/$\"+ 3D(G#)*F/7$$\"+D>0zi!#5$\"+%Gn-)**F/7$$!+m>0ziFaoFbo7$$!+YJ\"Q(=F/$\"+ 2D(G#)*F/7$$!+U*p,4$F/$\"+j^c5&*F/7$$!+8HzdUF/$\"+E0F[!*F/7$$!+YzEe`F/ $\"+d#zKW)F/7$$!+$*)RUP'F/$\"+JC80xF/7$$!+$G'o*G(F/$\"+]5ZXoF/7$$!+]*p ,4)F/$\"+9D&y(eF/7$$!+0o1j()F/$\"+Kn`<[F/7$$!+i[w(H*F/$\"+>bC\"o$F/7$$ !+8;$eo*F/$\"+l))*o[#F/7$$!+9q9@**F/$\"+IBL`7F/7$$FaoF*$!+:w1-T!#=7$$! +8q9@**F/$!+QBL`7F/7$$!+6;$eo*F/$!+t))*o[#F/7$$!+f[w(H*F/$!+FbC\"o$F/7 $$!+,o1j()F/$!+Sn`<[F/7$$!+Y*p,4)F/$!+?D&y(eF/7$$!+xio*G(F/$!+c5ZXoF/7 $$!+())RUP'F/$!+PC80xF/7$$!+RzEe`F/$!+i#zKW)F/7$$!+1HzdUF/$!+H0F[!*F/7 $$!+M*p,4$F/$!+m^c5&*F/7$$!+QJ\"Q(=F/$!+4D(G#)*F/7$$!+%)=0ziFao$!+&Gn- )**F/7$$\"+2?0ziFao$!+%Gn-)**F/7$$\"+]J\"Q(=F/$!+2D(G#)*F/7$$\"+Y*p,4$ F/$!+i^c5&*F/7$$\"++ZbF/7$$\"+1(\\z;&Fb[l$!+/)*HXMFb[l-F][l6&F_[lF*F*F *-%*LINESTYLEG6#\"\"\"-F`\\l6%7$7$$!+VH]?$)F/Ff\\l7$$!+1(\\z;&Fb[lF[]l F]]lF_]l-F$6$7U7$$!#]F*$!#SF*7$$!+*H&)y+&Fb[l$!+mnmuQFb[l7$$!+RoTJ]Fb[ l$!+8,J^PFb[l7$$!+9NAq]Fb[l$!+Za(=j$Fb[l7$$!+?LpB^Fb[l$!+EjC=NFb[l7$$! +1I)4>&Fb[l$!+[Z@7MFb[l7$$!+t8.r_Fb[l$!+%*GX:LFb[l7$$!+5gdi`Fb[l$!+dn[ HKFb[l7$$!+0K+ $Fb[l7$$!+?0zigFb[lF^bl7$$!+:8Q(='Fb[lFial7$$!+%*p,4jFb[lFdal7$$!+\"Hz dU'Fb[l$!+ZH<&4$Fb[l7$$!+&zEe`'Fb[l$!+u?nbJFb[l7$$!+*)RUPmFb[lFe`l7$$! +G'o*GnFb[l$!+&*GX:LFb[l7$$!+&*p,4oFb[l$!+\\Z@7MFb[l7$$!+!o1j(oFb[l$!+ FjC=NFb[l7$$!+'[w(HpFb[l$!+[a(=j$Fb[l7$$!+hJeopFb[l$!+9,J^PFb[l7$$!+,Z 6#*pFb[l$!+nnmuQFb[l7$$!#qF*$!+++++SFb[l7$F`el$!+MKLDTFb[l7$F[el$!+()) *o[UFb[l7$Ffdl$!+`X7oVFb[l7$Fadl$!+uOv\"[%Fb[l7$F\\dl$!+__y(e%Fb[l7$Fg cl$!+1ra%o%Fb[l7$Fdcl$!+WK^qZFb[l7$$!+%zEe`'Fb[l$!+EzKW[Fb[l7$Fjbl$!+` q#[!\\Fb[l7$$!+$*p,4jFb[l$!+0zigFb[l$!+Gn-)*\\Fb[l7$$!+![4s$fFb[lFchl7$$!+&o=E\"eFb[lF^hl7$$!+0 I)4p&Fb[l$!+;l0^\\Fb[l7$F]al$!+_q#[!\\Fb[l7$Fh`lFagl7$Fc`l$!+VK^qZFb[l 7$$!+r8.r_Fb[l$!+0ra%o%Fb[l7$$!+0I)4>&Fb[l$!+^_y(e%Fb[l7$$!+>LpB^Fb[l$ !+tOv\"[%Fb[l7$F__l$!+_X7oVFb[l7$Fj^l$!+'))*o[UFb[l7$Fe^l$!+LKLDTFb[l7 $F`^l$!+********RFb[l-F][l6&F_[lF+$\"*++++\"Fb[lF+-Fd[l6%7$$!#gF*Fb^lQ \"5Fh[lFi[l-F$6$7U7$$\"#qF*Fb^l7$$\"+,Z6#*pFb[lFg^l7$$\"+hJeopFb[lF\\_ l7$$\"+'[w(HpFb[lFa_l7$$\"+!o1j(oFb[lFf_l7$$\"+%*p,4oFb[lF[`l7$$\"+F'o *GnFb[lF``l7$$\"+!*RUPmFb[lFe`l7$$\"+&zEe`'Fb[lFj`l7$$\"+#HzdU'Fb[lF_a l7$$\"+%*p,4jFb[lFdal7$$\"+98Q(='Fb[lFial7$$\"+>0zigFb[lF^bl7$$\"+![4s $fFb[lF^bl7$$\"+&o=E\"eFb[lFial7$$\"+1I)4p&Fb[lFdal7$$\"+42AubFb[lF\\c l7$$\"+0K& Fb[lF^dl7$$\"+?LpB^Fb[lFcdl7$$\"+9NAq]Fb[lFhdl7$$\"+RoTJ]Fb[lF]el7$$\" +*H&)y+&Fb[lFbel7$$\"#]F*Fgel7$Fh`mFjel7$Fe`mF]fl7$Fb`mF`fl7$F_`mFcfl7 $F\\`mFffl7$Fi_mFifl7$Ff_mF\\gl7$$\"+1K0ziIFb[l$!+sK(>+(Fb[l7$$\"+![4s$HFb[lFhim7$$\"+&o=E \"GFb[lFcim7$$\"+1I)4p#Fb[lF^im7$$\"+42AuDFb[l$!+ZH<&4(Fb[l7$$\"+0K#Fb[l$!+\\Z@7uFb[l7$$\"+?LpB@Fb[l$!+FjC=vFb[l7$$\"+9NAq?Fb[l$!+[a( =j(Fb[l7$$\"+RoTJ?Fb[l$!+9,J^xFb[l7$$\"+*H&)y+#Fb[l$!+nnmuyFb[l7$$\"#? F*$!+++++!)Fb[l7$Fj\\n$!+MKLD\")Fb[l7$Fe\\n$!+())*o[#)Fb[l7$F`\\n$!+`X 7o$)Fb[l7$F[\\n$!+uOv\"[)Fb[l7$Ff[n$!+__y(e)Fb[l7$Fa[n$!+1ra%o)Fb[l7$F ^[n$!+WK^q()Fb[l7$$\"+1KFb[l$!+&H<&46F_dn7$$\" +%*p,4=Fb[l$!+[V*[5\"F_dn7$$\"+98Q(o\"Fb[l$!+v7x,6F_dn7$$\"+>0zi:Fb[l$ !+Ft>+6F_dn7$$\"+![4sV\"Fb[lF\\in7$$\"+&o=EJ\"Fb[lFghn7$$\"+1I)4>\"Fb[ lFbhn7$$\"+42Au5Fb[lF]hn7$$\"+a?tT'*F/Fhgn7$$\"+2,wD')F/Fcgn7$$\"+LpB'F/Fdfn7$$\"+Q^B-dF/F_fn 7$$\"+(QoTJ&F/Fjen7$$\"+')H&)y]F/Feen7$$F\\amF_en$!+++++7F_dn7$$\"+()H &)y]F/$!+BL`77F_dn7$$\"+*QoTJ&F/$!+*)*o[A\"F_dn7$$\"+T^B-dF/$!+bC\"oB \"F_dn7$$\"+*>LpB'F/$!+n`<[7F_dn7$$\"+a+$)4pF/$!+D&y(e7F_dn7$$\"+BPJ5x F/$!+6ZXo7F_dn7$$\"+8,wD')F/$!+C80x7F_dn7$$\"+h?tT'*F/$!+$zKWG\"F_dn7$ Fhin$!+0F[!H\"F_dn7$$\"+2I)4>\"Fb[l$!+_c5&H\"F_dn7$$\"+'o=EJ\"Fb[l$!+D (G#)H\"F_dn7$$\"+\"[4sV\"Fb[l$!+tE!)*H\"F_dn7$$\"+?0zi:Fb[lF`_o7$$\"+: 8Q(o\"Fb[lF[_o7$$\"+&*p,4=Fb[lFf^o7$F[hnFa^o7$FfgnF^^o7$FagnFi]o7$$\"+ H'o*GAFb[l$!+5ZXo7F_dn7$$\"+&*p,4BFb[lF_]o7$$\"+\"o1jP#Fb[lFj\\o7$F]fn Fe\\o7$FhenF`\\o7$FcenF[\\o7$F]enFf[oFb[m-Fd[l6%7$$\"$]\"F_enF`enQ#10F h[lFi[l-F$6$7U7$$\"$+\"F*F\\fm7$$\"+,Z6#***Fb[lFafm7$$\"+hJeo**Fb[lFff m7$$\"+'[w(H**Fb[lF[gm7$$\"+!o1j()*Fb[lF`gm7$$\"+%*p,4)*Fb[lFegm7$$\"+ F'o*G(*Fb[lFjgm7$$\"+!*RUP'*Fb[lF_hm7$$\"+&zEe`*Fb[lFdhm7$$\"+#HzdU*Fb [lFihm7$$\"+%*p,4$*Fb[lF^im7$$\"+98Q(=*Fb[lFcim7$$\"+>0zi!*Fb[lFhim7$$ \"+![4s$*)Fb[lFhim7$$\"+&o=E\"))Fb[lFcim7$$\"+1I)4p)Fb[lF^im7$$\"+42Au &)Fb[lFfjm7$$\"+0K)Fb[lFh[n7$$\"+?LpB\")Fb[lF]\\n7$$\"+9NAq!)Fb[lFb\\n7$$\"+R oTJ!)Fb[lFg\\n7$$\"+*H&)y+)Fb[lF\\]n7$$\"#!)F*Fa]n7$F_foFd]n7$F\\foFg] n7$FieoFj]n7$FfeoF]^n7$FceoF`^n7$F`eoFc^n7$F]eoFf^n7$$\"+1K0zivFb[lF\\in7$$ \"+![4sV(Fb[lF\\in7$$\"+&o=EJ(Fb[lFghn7$$\"+1I)4>(Fb[lFbhn7$$\"+42AuqF b[lF]hn7$$\"+0K(Fb[lFf^o7$$\"+'o=EJ(Fb[lF[_o7$$\"+\"[4sV(Fb[lF`_o7$$\"+? 0zivFb[lF`_o7$$\"+:8Q(o(Fb[lF[_o7$$\"+&*p,4yFb[lFf^o7$Fh\\pFa^o7$Fe\\p F^^o7$Fb\\pFi]o7$$\"+H'o*G#)Fb[lFa`o7$$\"+&*p,4$)Fb[lF_]o7$$\"+\"o1jP) Fb[lFj\\o7$Ff[pFe\\o7$Fc[pF`\\o7$F`[pF[\\o7$F][pFf[oFb[m-Fd[l6%7$$\"$] (F_enF`enQ#14Fh[lFi[l-%*AXESSTYLEG6#%%NONEG-%(SCALINGG6#%,CONSTRAINEDG " 1 2 0 1 10 0 2 9 1 1 1 1.000000 45.000000 45.000000 0 0 "Curve 1" "C urve 2" "Curve 3" "Curve 4" "Curve 5" "Curve 6" "Curve 7" "Curve 8" "C urve 9" "Curve 10" "Curve 11" "Curve 12" "Curve 13" "Curve 14" "Curve \+ 15" "Curve 16" "Curve 17" "Curve 18" "Curve 19" "Curve 20" "Curve 21" "Curve 22" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6$/%(hauteurG\"\"%/%'taill eG\"\"(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 16 "L'arbre-exemple " } {TEXT 284 5 "tree2" }{TEXT -1 50 " n'est pas \351quilibr\351 (il \"pen che\" vers la droite):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "i sbalanced(tree2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%&falseG" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 164 "La complexit\351 des op\351ration s sur un tel arbre binaire d\351pendant de la hauteur de l'arbre, il e st important qu'il reste aussi proche que possible d'un arbre binaire \+ " }{TEXT 285 7 "parfait" }{TEXT -1 24 ", \nc'est \340 dire tel que " } {XPPEDIT 18 0 "hauteur(fils_gauche) = hauteur(fils_droit);" "6#/-%(hau teurG6#%,fils_gaucheG-F%6#%+fils_droitG" }{TEXT -1 62 ") pour tout n \234ud, de mani\350re \340 ce que la hauteur soit minimum." }}{PARA 0 "" 0 "" {TEXT -1 116 "L'\351quilibrage d'un arbre binaire peut-\352tre obtenue par un algorithme faisant appel \340 des rotations gauche ou \+ droite." }}}{PARA 256 "" 0 "" {TEXT -1 0 "" }}{PARA 13 "" 1 "" {OLE 1 417797 1 "[xm]Br=WfoRrB:::wk;nyyI;G:;:j=j:J:ZJJ;j:JyyyyyI<:fFvV>g;jnA: Oe:Vwj>J?j?J@j@>:W:YJ:><;B:]:_Z:V<^ =F=N=V=^=f=n=v=>>AF ANAVA^AfAnA;jYJZB:=EFE NEVE^EfEnEvE>Fg:jnJo<:Q=S=U=W=Y=[]:FHNHVH^HfHnHvH>I FINIVI^IfInIvI>J>ELq^H_mvJ::::::::gjR<:T><::; CIOIRaHoIX:A:;`::=ja^GE=;:::::::::N;?R:yyyyyyA:yayA:<::::::JDJ:j::F@[K aFFcmnnHEM:>:::::::oJ;F:vYxI>:<::::::C:XN=>:;j:VBYmp>HYLkNG>::::::::N< ?jyyiy=J:B::::::F:;j`J:JyK;:vY:::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::=Z@w@f?_kVV@[C:]KU> AckUFAUkR>@[kSvEALpFF=Jyyy;d:yayQ;AZ:>:;`:Z@w:xO^Ek>xo>>:;:_X=MrQs:K;;:jXTl=yeAo:?TMWiKG:;JU>:K;wd:NV =>:kgKG:;::jl^EAH_mq^HYmkvGSMhVDcMlnBMMpfFELlFGcmnnGIMhVHEMsn HE=;JsJ::NT:K;;Z:L:v\\rYjy@:;SJM::;rKGJ[nWJ:n@>?nENVKFK NKU>W>Y^:>Lo>q>s>u>w>y>;G:q:jVKWkWKXkXKYkYKZC:=@?@A@C@E@G@I@K @M@O@Q@S@U@W@YH:;JbC:]@_H:Vt:JdkdkeKywYk@m@o@q@s@u@w@yH:>V:yay=:::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::J:Zy=:::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::J:Zy=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::J:Zy=:::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::J:Zy=:::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::J:Zy=:::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::J:Zy=:::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::J:Zy=:: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::J:Zy=:::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::J:Zy=:::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :J:Zy=:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::J:Zy=:::::::::J:>Z:::jysy:::::::::::::::::: :>:<:::yay=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::J::yA:::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::Z:J:::ryvY:::::::::::::::::::<:;::Zymy;::: :::::::::;jysy::::::::Z:B:;:ry;jy;:B:;:ryyqy;:::::::::::::::B:>:ZyA:yA :Z:>:ZyyYyA::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::>:<::yay=::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::J:B::yI:xI::;B::yyyxI::::::::::::::::;Z::v y:ry::>Z::vyyuy:::::::::::>:yay=::::::::vy:ry:::::>Z:ZyyYyA::::::: ::::::Z:J:jy=Zy=::::J:<:xyywY::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::J:B:xY:vYJ:<:ryyqy;:::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::;Z:ZyA:yA::::Z:>: vyyuy::::::::::::::>:<:xY:vY::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::ry;jy;:B:;:vyy uy:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::>:<:xY:vY::::::::;B:yI:xI:::::::::;B:yyyxI:::::::::::;Z:vy:ry:::::: ::Z:>:vyyuy::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::Z:J:vy:ry::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::>Z::xyywY::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::<:;ry;jy;::::::::B:;ryyqy;::::::::::B: >ZyA:yA::::::::>Z:ZyyYyA::::::::>:yay=:::::ZyA:yA:::::::::Z:>ZyyYy A:::::::::Z:J:xY:vY::::::::::Z:vyyuy::::::::::>::yI: xI:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::;B:ZyyYyA::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::Z:J:xY:vY::::::::::::;B:yI:xI:::::::::::;B:yyyxI::::::::B:>ZyA:yA: ::::::::::>Z:vyyuy:::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::Z:J:vy:ry::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::Z:>:jyyiy=::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::<:;ry;jy;::::::::::B:;ryyqy;::::: :::;Z:vy:ry:::::::::::Z:>ZyyYyA:::::::>:yay=::::ZyA:yA:::::::::::Z :>ZyyYyA:::::::Z:J:xY:vY::::::::::::Z:vyyuy::::::::>:Z::yay=J:<:: :vYxI::B:;ryyqy;:::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::;Z:ry;jyC:;:vyyuy:::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::Z:J:xY:vY:::Z:vyy uy:::::::Z:J:xY:vY:::Z:vyyuy:::::::>:yay=:::J:>Z: vy:ry:::Z:>::::ryvY::::J:Z::::yay=:: J:ZyA:yA::Z:>:ryvY:ZyA :yA::Z:>:ryvY::::;B:yI:xI:::B:;:jys y>Z::ryvY::::J:::yayM:<:Zymy;::;B:y yyxI:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::B:>ZyA:yA::Z:>:ryvYJ:<:ZymyC:;:jysy::Z:>ZyyYyA::::::Z:J:xY:vY:: :ZyyYyA::::::>:yay=:::ZyA:yA:::Z:>::yay=ZyA:yA:::>Z::yay=Z:vyyuy: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::>:<::yay=<:;::ZymyC:>::xIB:::Zy=<::::yA>:::xIB::vYJ::yay=:< :;:::::vYxIB:>:::xIB::vYJ::ryvY<:;:Zymy;:::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::;Z:vy:ry:::Z:>:ry vYJ:<:ZymyC:;:jysy::Z:>ZyyYyA::::::>: ZyyYyA::::::>:yay=:::ZyA:yA::::::Z:>:ryvY::::::ryvY::xIyAZ:J:::ryvY <:;:Zy=<:::yayM:B::vYJ:ryvY<:;::ZymyC:>:xIya:J:ryvY::<:;::ZymyC:>:xIyA Z:J:::ryvY<:;ZymyC:>::xIB:Zy=<:yay=::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::J:B:yI:xI:::B:;:xIyA>Z: :yay=J:<:vYxI:::;B:yyyxI::::::;Z:vy:ry:::Z:>:ryvYJ:<:ZymyC:;:xIyA:::>Z :vyyuy::::::>:yay=:::ZyA:yA:::Z:>::yayM:<:Zymy;::::B:;ryyqy;:::::B :>ZyA:yA:::>Z::yay=ZyyYyA:::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::Z:J:ryvY:<:;Z ymyC:>:xIya:J:ryvYJ:B:Zy=<:yayM:B:vYxIB:>:xIya:J:ryvY<:;ZymyC:>:xIya:J :ryvY::<:;ZymyC:>:xIya:J:ryvY:<:;ZymyC:>:xIya:J:ryvY<:;Zymy;;Z:jysy::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::>:Z::yay=::J::ryvYZyyYyA:::::Z:J:xY:vY:::J:<:vYxIB:;:xIyAZ:>:ryvY::::xIya:J:ryvY<:;Zymy;B:>::jysy>:<:yay=<:;Zy myC:>:xIya:J:ryvY<:;ZymyC:>:xIyA:Z:J:ryvY<:;ZymyC:>:xIyAZ:J:ryvY<:;Zym yC:>:xIya:J:ryvYJ:B:::vYxI:::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::;Z:vy:ry:::Z:>:ryvYJ:<:vYxI:;B: jysy:::>Z:vyyuy::::::>:ZyyYyA:::::Z:J:xY:vY::ZyyYyA:::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::Z:J:ryvY:<:;ZymyC:>:xIya:J: ryvY::<:;:vYxI;Z:jysyZ:J:ryvY<:;ZymyC:>:xIya:J:ryvY<:;Zymy;:B:>:xIya:J :ryvY<:;Zymy;B:>:xIya:J:ryvY<:;ZymyC:>:xIyA>:<:yayM:B:vYxI:::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :;Z:vy:ry::>Z::yA;:xIyA>Z::yay=J:<:vYxI:::;B:yyyxI::::::;Z:vy:ry::>Z:: yA;:xIyA:>Z:::ryvY:::J:ZyA:yA:Z:>:::yay=Z:vyyuy::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::Z:J:::yA>:::xIya:J:ryvYJ:B:::vYxI;Z:jysyZ:J:ryvY<:;::ZymyC:>:jy;; Zymy;:B:>:::xIya:J:::yA>:::xIya:J:ryvY<:;Zymy;;Z:::jysy::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::>: ::yay=::J:::ryvY:::ZyA:yA:Z:>:::yay=Z:vyyuy::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::>:< :::yA>:::xIB::Zy=<:::yA>::::xIya:J:::ryZ::::xIyA:Z:J:::ryZ:::jy;;::Zy= <:ryZ:::xIB::Zymy;:::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::B:>ZyA:yA:>Z:::ryvYJ:<:ZymyC:;:jysy::Z: >ZyyYyA::::::>:ZyyYyA::::::>:yay=:::J :>Z:vy:ry:::Z:>::::yay=::::J:Z::::ya y=::J::<:::::::::::::::::::vYxI:;Z::::::::jysy::::: ::::::::::::::::::::<:;ry;jy;::;B::xIyAZ:>:::ryvY:::Z::ryvY:::Z::yay=J:<:::vYxI:::;B:yyyxI:::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::B:>:xIyA::::>:<:yay=::::::::::::::<:;Zymy;::::::::B:>:x IyA::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::Z:J:xY:vY:::ZyyYyA::::::Z:J :xY:vY:::ZyyYyA::::::>:yay=::::ZyA:yA:::::: :::::Z:>ZyyYyA:::::::Z:J:xY:vY:::::::::::::xIyA:::::::::::Z:J:ryvY:::::::<:;Zymy;;:vY:::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::J:B:yI:xI::::::::::::;B:yyyxI::::::::;Z:vy:ry::::::::::::>Z:vy yuy:::::::>:yay=::::ZyA:yA:::::::::::Z:>ZyyYyA:::::::Z:J:xY:vY:::: ::::::::Z:vyyuy:::::::>:yay=::::J:>Z:vy:ry:::::::::::> Z:vyyuy:::::::::>:ZyA:yA::::::::::Z:>ZyyYyA:::::::>:yay=:::::ZyA:y A:::::::::Z:>ZyyYyA:::::::::Z:J:xY:vY:::::::::::AR:@:MR:N[;j?@:SR:f[ ;JA@:YR:`;jR@:_S:V`;JT@: eS:n`;jU@:kS:Fa;JW@:qS:^a;jX@:wS:va;JZ@:=T:Nb;j[@:CT:fb;J]@:IT:>c;j^@: OT:Vc;J`@:UT:nc;ja@:[T:Fd;Jc@:aT:^d;jd@:gT:vd;Jf@:mT:Ne;jg@:sT:fe;Ji@: yT:>f;jj@:?U:Vf;Jl@:EU:nf;jm@:MU:fyyMo@:QU:^g;jp@:WU:vg;Jr@:]U:Nh;js@: cU:fh;Ju@:iU:>i;jv@:oU:Vi;Jx@:uU:ni;jy@:;V:vYxI::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::J:B:yI:xI::::::::::;B:yyyxI::::::::::;Z:vy:ry::::::::::> Z:vyyuy::::::::>:yay=:::::J:>Z:vy:ry:::::::::>Z:vyyuy::::::::::Z:J:jy= Zy=::::::::J:ZyyYyA::::::::>:yay=::::::ZyA:yA:::::::Z:>ZyyYyA::::: ::::::Z:J:xY:vY::::::::Z:vyyuy:::::::::>:yay=::::::J:>Z:ZyA:yA:::::Z:> :vyyuy:::::::::::::>:ZyA:yA::::::>Z:ZyyYyA:::::::::>:yay=:::::::J:>Z:Z yA:yA:::Z:>:vyyuy::::::::::::::Z:J::xY:vY::::Z:ZyyYyA::::::::::>:yay=: :::::::J:>Z::::::xIyA:::::::::::::::Z:J::::::yay=::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:;::::: vYxI::::::::::::::::;Z::::::xIyA:::::::::::>:yay=:::::::::::::J:>:vY:: :::::::::::::J::yA:::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::Z::xI:::::::::::::::B:Zy=:::: ::::::::::::J:vYxI::::::::::::::B:<:xI:::::::::::::::;:vY::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::J::yA::::::::::::::Z::xI:::::::::::::::::;jysy::::::::::::: :Z:B:ry:::::::::::::::>:jy;::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::;:vY::::::::::::::: <:ry:::::::::::::::::>:yay=::::::::::::::J:>:vY::::::::::::::<:ry::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::Z::xI::::::::::::::;:vY:::::::::::::::::J:vYxI:::: :::::::::::;J:jy;:::::::::::::B:Zy=::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:ry:::::: ::::::::>:jy;:::::::::::::::::;jysy:::::::::::::::>:;:yA:::::::::::::> :jy;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::B:Zy=:::::::::::::<:ry::::::::::::::::::> :yay=::::::::::::::: :jy;::::::::::::B:Zy=:::::::::::::::::J:vYxI:::::::::::::::B:<:xI::::: ::::::::;:vY:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::J::yA::::::::::::Z::xI:::::::::: ::::::::;jysy::::::::::::::::>:;:yA:::::::::::Z::xI::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::B:Zy=:::::::::::J::yA::::::::::::::::::>:yay=:::::::::::::::J: >:vY::::::::::::<:ry:::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::Z::xI::::::::::::;:vY:: ::::::::::::::::J:vYxI::::::::::::::::;J:jy;:::::::::::;:vY::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::<:ry:::::::::::Z::xI:::::::::::::::::::;jysy::::::::: :::::::Z:B:ry:::::::::::>:jy;::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:vY::::::::: ::<:ry:::::::::::::::::::>:yay=:::::::::::::::::jy;::::::::::B:Zy=::::::::::::::::::J:vYxI :::::::::::::::::;J:jy;:::::::::B:Zy=::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:ry ::::::::::>:jy;:::::::::::::::::::;jysy:::::::::::::::::>:;:yA:::::::: :Z::xI:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::B:Zy=:::::::::J::yA:::::::::::::::: :::>:yay=::::::::::::::::J:>:vY:::::::::J::yA::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::Z::xI:::::::::B:Zy=:::::::::::::::::::J:vYxI:::::::::::::::::B:<:x I:::::::::;:vY:::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::J::yA::::::::Z::xI:::::::: ::::::::::::;jysy:::::::::::::::::Z:B:ry:::::::::>:jy;:::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::;:vY:::::::::<:ry::::::::::::::::::::>:yay=::::::::::::: ::::J:>:vY::::::::<:ry:::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::Z::xI::::::::;:vY ::::::::::::::::::::J:vYxI::::::::::::::::::;J:jy;:::::::B:Zy=:::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::<:ry::::::::>:jy;::::::::::::::::::::;jysy::::: :::::::::::::>:;:yA:::::::>:jy;::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::B:Zy=::: ::::<:ry:::::::::::::::::::::>:yay=:::::::::::::::::::jy;::::::B:Zy=::::::::::::::::::::J: vYxI::::::::::::::::::B:<:xI:::::::;:vY::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :J::yA::::::Z::xI:::::::::::::::::::::;jysy:::::::::::::::::::>:;:yA:: :::Z::xI:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::;:vY::::::J::yA:::::::::::::: :::::::>:yay=::::::::::::::::::J:>:vY::::::<:ry::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::Z::xI::::::;:vY:::::::::::::::::::::J:vYxI:::::::::::::::::: :;J:jy;:::::;:vY:::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::<:ry:::::Z::xI:::::: ::::::::::::::::;jysy:::::::::::::::::::Z:B:ry:::::>:jy;:::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::;:vY:::::<:ry::::::::::::::::::::::>:yay=::::::::: :::::::::::jy;::::B: Zy=:::::::::::::::::::::J:vYxI:::::::::::::::::::B:<:xI:B:>:xIyAZ::xI: ::::::::::::::::::::::::::::::::::::::::;Z::xIyA:::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::>:<: yay=::::::::::::::::::::::::::::::::::::::::J::yA:>:<:yay=J::yA::::::: :::::::::::::::>:yay=:::::::::::::::::::J:>Z:::TV]UV]C:>::jysy:::::::: :::::::::::::::::::::::::::::::>:<::xY:vYJ:<::xyywY::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:;:: ry;jyC:;::ryyqy;::::::::::::::::::::::::::::::::::::::B:>::J]ck>:<::ry vY::::::::::::::::::::::J:vYxI:::::::::::::::::::;J:<:G`@=::::J:B:vYxI :::::::::::::::::::::::::::::::::::::;Z:ZyA:yA::::>Z::vyyuy::::::::Fj; J;A:AV:^j;jA:MV:Nk;j?A:SV:fk;JAA:YV:>l;jBA:_V:Vl;JDA:eV:nl; jEA:kV:Fm;JGA:qV:^m;jHA:wV:vm;JJA:=W:Nn;jKA:CW:fn;JMA:IW:>o;jNA:OW:Vo; JPAJ:fo;JQA:YW:>p;jRA:_W:Vp;JTA:eW:np;jUA:kW:Fq;JWA:qW:^q;jXA:wW:vq;JZ A:=X:Nr;j[A:CX:fr;J]A:IX:>s;j^A:OX:Vs;J`A:UX:ns;jaA:[X:;jbA:_X:Vt;JdA: eX:nt;jeA:kX:Fu;JgA:qX:^u;jhA:wX:vu;JjA:=Y:Nv;jkA:CY:fv;JmA:IY:>w;JoA: uqyWw;JpA:UY:nw;jqAJ:>x;jrA:_Y:;jsA:cY:fx;JuA:iY:;JvA:mY:Ny;>:qY:^y;jx A:wY:vy;J:DJ::vy:ry:::::>Z:ZyyYyA:::::::::::::::::::::::: ::::::::::::Z:J:bkGP];::::B:>:xIyA:::::::::::::::::::::>:yay=::::::::: :::::::::ZyyYyA:::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::>::vyyuy::::::::::::::: :::::::::::::::::::>:<:G`@=:::::::J:ryvY::::::::::::::::::::J:vYxI:::: :::::::::::::;J:TFG@:::::::::>:<:yay=::::::::::::::::::::::::::::::::J :B:yI:xI:::::::::B:;ryyqy;:::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::B:>ZyA:yA:::::::::Z:>ZyyYyA:::::::::: ::::::::::::::::::::::Z:J]ck:::::::::Z:J:ryvY:::::::::::::::::::J:vYxI ::::::::::::::::B:Z:vyyuy:::::: ::::::::::::::::::::::::::>:TFG@::::::::::ZB>ZDvyyyyy=:::::::::::::::: ::J:vYxI::::::::::::::::;J:J];:::::::::::B:vYxI::::::::::::::::::::::: ::::::::;Z:vy:ry::::::::::::>Z:vyyuy:::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::Z:J:xY:vY:::::::::::::<:::G`@=::::<:yay=:::::::::::::::: ::::::::::::::<:;ry;jy;::B:;:xIyA::Z:>:ryvY::J:ZyyYyA::::::::::::::::::::::::::::::>:TFG@::Z:J:bknR: :J:B:nRTF:::;Zymy;::::::::::::::::::;jysy:::::::::::::::Z:B:G`@=:::<:; :::Z@M];::::;Zymy;:::::::::::::::::::::::::::::B:>ZyA:yA::Z:>:ryvY:::< J:Zymy;::B:;ryyqy;:::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::;Z:vy:ry:::Z:>::::ryvY::::J::xIyA:::::::::: :::::::::::::::::::Z:J:xY:vY:::ZyyYyA:::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::>:Z:vyyuy::::::::::::::::::::::::::::::>:TFG@ ::Z:J:bknR::J:B:nRTF:::B:vYxI::::::::::::::::::;jysy:::::::::::::::>:; bknR::::<:;Z@M];B:>:TFG@::::>:xIyA:::::::::::::::::::::::::::::>:ZyyYyA:::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::>:ZyyYyA::::::::::::::::::::::::::::Z:J]ck:::Z:J:bknR::J>:bk:::Z:jysy ::::::::::::::::::>:yay=::::::::::::::J:>Z@M];:::B:>:J]ck>:<:bknR::::: <:yay=::::::::::::::::::::::::::::J:B:yI:xI:::B:;:xIyA>Z::ryvYZyA:yA::::::Z:>:ryvY::::::xIyA:::::::::::::::::>:yay=:: ::::::::::::J:>Z@M];:::B:>::::TFG@::::Z:jysy:::::::::::::::::::::::::: :::>::ryvY:::Z::ryvY::::::xIyA:::::::::::::::::>:yay=::::::::::::::J:>Z@M];:::B:> :::J]ck:::::Z:jysy:::::::::::::::::::::::::::::>:ZyA:yA:::Z:>::::ryvY::::::xIyA::::::::::::::: ::>:yay=::::::::::::::J:>Z@M];:::B:>:J]ck>:<:bknR:::::\\:yay=::::::::: :::::::::::::::::::J:B:yI:xI::;B:jyK:Zymy;:;B:::xIyA::Z:>ZyyYyA::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::Z:J: xY:vY:::::TFB:nRTF::::;Zymy;:::::::::::::::::;jysy::::::::::::::: >:;bknR::::<:;Z@M];B:>:TFG@::::Z:jysy:::::::::::::::::::::::::::::>:ZyyYyA::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::Z:J:xY:vY::::Z:::ryvY::::yay=::::::J:::J]ck:::Z:jysy::::::::::::::::::>:yay=::::::: ::::::::::::TFG@::::>:xIyA:::::::::::::::::::::::::::::Z: J:xY:vY::J:<:Zymy;::;B::xIyA::Z:>ZyyYyA::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::>::<:::G`@=::::J:ry vY::::::::::::::::::::::::::::::<:;ry;jy;::B:;:xIyA::>Z::ryvY:::Z:vyyuy::::::::::::::::::::::::::::: :>:TFG@::Z:J:^[@qr@qR::J:B:nRTF:::B:vYxI::::::::::::::::::;jysy::::::: ::::::::Z:B:G`@=::::::::::::<:yay=::::::::::::::::::::::::::::::<:;ry; jy;::::::::::::;B:yyyxI::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::B:>ZyA:yA:::::::::::Z:>ZyyYyA::::::::::::: :::::::::::::::::>:TFG@::::::::::::>:xIyA::::::::::::::::::>:yay=::::: ::::::::::J:>Z@M];:::::::::::B:vYxI:::::::::::::::::::::::::::::::;Z:v y:ry::::::::::::>Z:vyyuy:::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::Z:J:xY:vY:::::::::::::xIyA:::::::::::::::::::::::::::::::>:< jy=Zy=:::::::::::ZyA:yA::::::::::>Z:vyyuy:::::::::: ::::::::::::::::::::::>:TFG@::::::::::>:xIyA:::::::::::::::::::>:yay=: :::::::::::::::J:>Z@M];:::::::::;Zymy;:::::::::::::::::::::::::::::::: :;Z:vy:ry:::::::::Z:>ZyyYyA::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::Z:J:jy=Zy=:::::::::ZyA:yA:::::::Z:>:vyyuy::::::: :::::::::::::::::::::::::::>:<:G`@=:::::::J:ryvY::::::::::::::::::::J: vYxI::::::::::::::::::B::<:yay=:::::::::::::::::::::::::: ::::::::J:B:ry;jy;::::::;B:ryyqy;::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::;Z:vy:ry:::::::>Z:ZyyYyA::: :::::::::::::::::::::::::::::::Z:J:bknR:::::::<:yay=:::::::::::::::::: ::J:vYxI:::::::::::::::::::;J:<:G`@=::::<:;:vYxI;:vY:::::::::::::::::: ::::::::::::::::<:ry>:<:xY:vY::::J:<:xyywY:::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::<:;:ry;jy;::::;B :ryyqyC:Zy=:::::::::::::::::::::::::::::::::J::ya:J:bknR::::J:B:Zymy;: ::::::::::::::::::::;jysy::::::::::::::::::::>:;B:::::Zymy;:;:vY:::::: :::::::::::::::::::::::::::J::yA:>:<:::::ryvY::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::J:B:::::Zym y;:;:vY:::::::::::::::::::::::::::::::::<:ry:Z:J::::::yay=:::::::::::: ::::::::::J:vYxI::::::::::::::::::::::::::::B:<:xI:::::::::::::::::::: ::::::::::::B:Zy=::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::J::yA:::::::::::::::::: ::::::::::::::Z::xI:::::::::::::::::::::::::::::::;jysy::::::::::::::: ::::::::::::::>:;:yA:::::::::::::::::::::::::::::::Z::xI:::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::B:Zy=:::::::::::::::::::::::::::::::J::yA:::::::::::: :::::::::::::::::::>:yay=::::::::::::::::::::::::::::::jy;:::::::: ::::::::::::::::::::::B:Zy=:::::::::::::::::::::::::::::::J:vYxI:::::: ::::::::::::::::::::::::;J:jy;:::::::::::::::::::::::::::::B:Zy=:::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::<:ry::::::::::::::::::::::::::::::>:jy;:::: ::::::::::::::::::::::::::::;jysy::::::::::::::::::::::::::::::>:;:yA: ::::::::::::::::::::::::::::>:jy;::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:v Y:::::::::::::::::::::::::::::<:ry:::::::::::::::::::::::::::::::::>:y ay=:::::::::::::::::::::::::::::::jy;::::::::::::::::::::::::::::B :Zy=::::::::::::::::::::::::::::::::J:vYxI:::::::::::::::::::::::::::: :::;J:jy;:::::::::::::::::::::::::::B:Zy=::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::<:ry::::::::::::::::::::::::::::>:jy;::::::::::::::::::::::::::: ::::::;jysy:::::::::::::::::::::::::::::::Z:B:ry:::::::::::::::::::::: :::::>:jy;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::;:vY:::::::::::::::::::: :::::::<:ry::::::::::::::::::::::::::::::::::>:yay=::::::::::::::::::: ::::::::::::J:>:vY::::::::::::::::::::::::::<:ry:::::::::::::::::::::: ::=b:Z:^Z<>:Eb:;B:Gb:;B:Ib:;J>DJ:F[<>:Ob:;j?DJ:^[<>:Ub:;JADJ :v[<>:[b:F\\^_b:Od:V c:ed:nd:od:Ve:Ee:nfi:y ay=::::::::::::::::::::::::::::::::J:>:vY::::::::::::::::::::::::<:ry: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::Z::xI::::::::::::::::::::::::;:v Y:::::::::::::::::::::::::::::::::::J:vYxI:::::::::::::::::::::::::::: :::::B:<:xI:::::::::::::::::::::::;:vY:::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::J::yA::::::::::::::::::::::Z::xI:::::::::::::::::::::::::::::: ::::::;jysy::::::::::::::::::::::::::::::::::>:;:yA::::::::::::::::::: ::Z::xI::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::B:Zy=::::::::::::::::: ::::J::yA::::::::::::::::::::::::::::::::::::>:yay=::::::::::::::::::: ::::::::::::::J:>:vY:::::::::::::::::::::J::yA:::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::Z::xI:::::::::::::::::::::B:Zy=:::::::::::::::::::::: ::::::::::::::J:vYxI::::::::::::::::::::::::::::::::::B:<:xI:::::::::: :::::::::::;:vY::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::J::yA:::::::: ::::::::::::Z::xI:::::::::::::::::::::::::::::::::::::;jysy::::::::::: ::::::::::::::::::::::::>:;:yA:::::::::::::::::::Z::xI:::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::B:Zy=:::::::::::::::::::J::yA:::::::::::::: :::::::::::::::::::::::>:yay=::::::::::::::::::::::::::::::::::::j y;::::::::::::::::::B:Zy=:::::::::::::::::::::::::::::::::::::J:vYxI:: :::::::::::::::::::::::::::::::::B:<:xI::::::::::::::::::B:Zy=:::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::<:ry::::::::::::::::::>:jy;:::::: ::::::::::::::::::::::::::::::::;jysy::::::::::::::::::::::::::::::::: :::>:;:yA:::::::::::::::::>:jy;::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::B:Zy=:::::::::::::::::J::yA::::::::::::::::::::::::::::::::::::: :>:yay=:::::::::::::::::::::::::::::::::::::jy;::::::::::::::::B:Z y=::::::::::::::::::::::::::::::::::::::J:vYxI:::::::::::::::::::::::: :::::::::::::;J:jy;:::::::::::::::B:Zy=::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::<:ry::::::::::::::::>:jy;::::::::::::::::::::::::::::: ::::::::::;jysy:::::::::::::::::::::::::::::::::::::Z:B:ry:::::::::::: :::>:jy;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:vY:::::::::: :::::<:ry::::::::::::::::::::::::::::::::::::::::>:yay=::::::::::::::: :::::::::::::::::::::::jy;::::::::::::::::::::::::::::::::::::::::;jysy::::::: :::::::::::::::::::::::::::::::Z:B:ry:::::::::::::>:jy;::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::;:vY:::::::::::::<:ry:::::::::::::: :::::::::::::::::::::::::::>:yay=::::::::::::::::::::::::::::::::::::: :J:>:vY::::::::::::<:ry::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::Z::xI::::::::::::;:vY:::::::::::::::::::::::::::::::::::::::::J:vY xI:::::::::::::::::::::::::::::::::::::::B:<:xI:::::::::::;:vY:::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::J::yA::::::::::Z::xI:::::: ::::::::::::::::::::::::::::::::::::;jysy::::::::::::::::::::::::::::: ::::::::::Z:B:ry::::::::::Z::xI::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::B:Zy=:::::::::J::yA::::::::::::::::::::::::::::::::::::: :::::>:yay=:::::::::::::::::::::::::::::::::::::::J:>:vY::<:;::::Zymy; :;:vY::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:ry::>:<:: :::yay=:J::yA::::::::::::::::::::::::::::::::::::::::::>:yay=::::::::: ::::::::::::::::::::::::::::::::xIyA>:jy;::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::;:vY<:;:nRTF::::;Z:jysyZ: :xI:::::::::::::::::::::::::::::::::::::::::::;jysy::::::::::::::::::: ::::::::::::::::::::::>:;B:nRTF::::::B:>:jysy::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::Z:J:bknR::::::J:B:Zymy;::::::::::::::::: ::::::::::::::::::::::::::;jysy::::::::::::::::::::::::::::::::::::::: :Z:B:;Z@M];:::::::B:vYxI:::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::B:nRTF::::::::;Zymy;::::::::::::::::::::::::::::::::::::::::: ::;jysy::::::::::::::::::::::::::::::::::::::::>:;bknR:::::::::J:ryvY: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::<:;Z@M];::::::::B :vYxI:::::::::::::::::::::::::::::::::::::::::::;jysy::::::::::::::::: ::::::::::::::::::::::Z:B:G`@=::::::::::<:yay=:::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::<:G`@=:::::::::J:ryvY:::::::::::::::::::: ::::::::::::::::::::::J:vYxI:::::::::::::::::::::::::::::::::::::::B:< J]ck:::::::::::>;jy;:::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::;:nR:::::::::::<:yay=:::::::::::::::::::::::::::::::::::::::::J:vYxI :::::::::::::::::::::::::::::::::::::::;J:TFG@:::::::::::Z:jysy::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::Z:J]ck::::::::::::>:xIyA:: :::::::::::::::::::::::::::::::::::::::>:yay=::::::::::::::::::::::::: :::::::::::::B:Z@=:::J];:::;J:xIyA:::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::>:TFG@:::>:<::::G`@=::::<:yay=:::::::::::::::::::: ::::::::::::::::::::J:vYxI::::::::::::::::::::::::::::::::::::::B::<:G`@=::<:;Z@M];:::;Zymy;::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::;Z@M];:::;Z::TFG`:J::G`@=::::<:yay=:::::::::::::::::::::::: ::::::::::::::::J:vYxI::::::::::::::::::::::::::::::::::::::;J:TFG@::: >:<:G`@=::\\::G@:::>:xIyA::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::>:<:ryvY::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::J:bknR:::J:B:nRTF:;Z:J]ck::::Z:jysy::::::::::::::::::::::::: ::::::::::::::::>:yay=:::::::::::::::::::::::::::::::::::::J:>Z@M];::: ;Z:J]ck::Z:J:bknR:::J:ryvY:::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::<:;:jy=ZyM:vYyA:::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::Z:J]ck::::>:<:bknR<:;:nRTF:::::;Zymy;::::::::::::::::: :::::::::::::::::::::::;jysy::::::::::::::::::::::::::::::::::::::>:;b knR:::J:B:nRTF::B:>:TFG@:::Z:jysy::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::Z:J:ZyA:yA:>Z::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::xyywY:::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::<:G`@=:::J:B::::nRTF:::::;Zymy;::::::::::::: :::::::::::::::::::::::::::;jysy:::::::::::::::::::::::::::::::::::::: >:;bknR:::J:B:nRTF::B:>:TFG@:::Z:jysy::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::>:<:ZyA:yA::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::Z:ryxI:::::::::::::::::::::::::::::: :::::::::::::::::::::::::::B:nRTF::::;Z::::TFG@:::::>:xIyA:::::::::::: ::::::::::::::::::::::::::::>:yay=:::::::::::::::::::::::::::::::::::: :J:>Z@M];:B:>:TFB:nRTF:;Z:J];;Z@M];:::B:vYxI:::::::::::::::::::::::::: ::::::Fj:Ef:njmqrux:J]ck:::::>:xIyA::::::::::::::::::::::::::::::::::::::::>:yay=::: ::::::::::::::::::::::::::::::::::J:>Z@M];:B:>::J]ck:>:<::bknR:::J:ryv Y::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<:;:xY:vY:: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::< Zyuy:::::::::::::::::::::::::::::::::::::::::::::::::::::::::Z:J]ck::: :>:<:G`@=J:B:nRTF:::::;Zymy;::::::::::::::::::::::::::::::::::::::::;j ysy::::::::::::::::::::::::::::::::::::::>:;bknR::<:;::nRTF:;Z:::TFG@: ::>:xIyA::::::::::::::::::::::::::::::::::::::::::::::::::::::::::Z:J: :vy:ry:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::Z:ryxI:::::::::::::::::::::::::::::::::::::::::::::::::::::::::B: nRTF::::;Z::TFG`:J::G`@=::::<:yay=:::::::::::::::::::::::::::::::::::: ::::J:vYxI::::::::::::::::::::::::::::::::::::::B::G`@= :J:B:Z@M];:::;Zymy;::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::;Z::ry;jy;::;B::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::vyyuy:::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::>:TFG@:::>:<::::G`@=::::<:yay=:::::::::::::::::::::::::::: ::::::::::::J:vYxI::::::::::::::::::::::::::::::::::::::B:::TFG@:::>:xIyA:::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::Z:J::vy:ry:>:yqy;:::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::;Z@M];:::B:>:::TFG@::::Z:jysy:::::::::::::::::::::::::: :::::::::::::::>:yay=:::::::::::::::::::::::::::::::::::::::::jysy:::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::>:TFG@::::::::::::>:xIyA:::::::::::::::::::::::::::::::::::::: :::>:yay=::::::::::::::::::::::::::::::::::::::J:>Z@M];:::::::::::B:vY xI:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::B:> :xIyA::::::::::::::::::::::::::::::::::Z:J:ryvYJ:B:vYxI::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::B :nRTF::::::::::::;Zymy;:::::::::::::::::::::::::::::::::::::::::;jysy: ::::::::::::::::::::::::::::::::::::::>:;bknR:::::::::::J:ryvY:::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::<:;:::vYxI::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::;Z@M];::::::::::B:vY xI::::::::::::::::::::::::::::::::::::::::::;jysy::::::::::::::::::::: ::::::::::::::::::Z:B:G`@=::::::::::<:yay=:::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::J:B::vYxIB:>:::xIya:J::r yZ::::xIB::::vYJ:::ryZ::jy;;:vYxI:B:>:::jy;;:::vYJ::::yayM:B::vYJ::ryZ ::xIya:J::ryvY:::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::J:bknR:::::::::::<:yay=::::::::::::::::::::::::::::::::::::: ::::J:vYxI::::::::::::::::::::::::::::::::::::::::;J:TFG@:::::::::Z:jy sy:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::Z:J:ryvY:<:;::ZymyC:>::xIB:::vYxI;Z::jy;;ZymyC:>:::xIya:J:ryvY< :;Zymy;:B:>:xIyA:Z:J:::ryvY<:;Zy=<:ryvY<:;::vYxI;Z:jysy>:<:yayM:B:Zy=< :yay=::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :<:G`@=:::::::::J:ryvY::::::::::::::::::::::::::::::::::::::::::J:vYxI ::::::::::::::::::::::::::::::::::::::::B::xIya:J:ryvY<:;Zymy;;Z::xIB:vYxI;Z:jysyZ:J:ryvY<:;ZymyC:>:xI ya:J:ryvY<:;Zymy;:B:>::jysyZ:J::yA>:xIya:J:ryvY<:;ZymyC:>:xIyA:>:<:yay M:B:vYxI;Z:jysy::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::>:TFG@::::::::Z:jysy:::::::::::::::::::::::::::::::::::: :::::::>:yay=::::::::::::::::::::::::::::::::::::::::J:>Z:J]ck:::::::> :xIyA::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::Z:J:ryvY:<:;ZymyC:>:xIya:J:ryvY:<:;::vYxI;Z:jysyZ:J:ryvY<:; ZymyC:>:xIya:J:ryvY<:;Zymy;:B:>:::xIyA>:<::ryvY<:;ZymyC:>:xIya:J:ryvY: J:B:vYxI;Z:jysy>:<:::yay=::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::<:;Z@M];::::::B:>:xIyA:::::::::::::::::::::::::: :::::::::::::::::>:yay=:::::::::::::::::::::::::::::::::::::::::J:>Z:J ]ck:::::>:<:yay=:::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::<:;Zymy;B:>:xIya:J:ryvY<:;Zymy;:B:>:jysy>:<:yay =<:;ZymyC:>:xIya:J:ryvY<:;ZymyC:>:xIyA:Z:J:ryvY<:;Zymy;:;Z::xIya:J:ryv Y<:;ZymyC:>:xIyA:>:<:yayM:B:vYxI;Z:jysy>:<:yay=::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::<:;Z@M];::::B:>:xIyA::::: :::::::::::::::::::::::::::::::::::::::>:yay=::::::::::::::::::::::::: :::::::::::::::::J:>Z::TFG@:>:<::yay=::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::<:;::vYJ:::ryvY<:;Zymy;;Z :::jysy>:<:yay=<:;ZymyC:>:::xIya:J::yA>:xIyA:Z:J:::ryvY<:;::ZymyC:>:xI ya:J:ryvY<:;::vYxI;Z::xIB:vYxI;Z:::jysy::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::Z:J::bknR:<:;:Zymy;::::::::::::: ::::::::::::::::::::::::::::::::;jysy::::::::::::::::::::::::::::::::: :::::::::::Z:B:;::vYxI:::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::;Z:::jy;;::Zy=<::ryZ:::jy;;:::ZymyC:>: ::xIB:::Zymy;::;Z:::jy;;::Zy=<:ryZ::xIyA>:<::yayM:B:::vYxI;Z:::xIyA::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::Z: J::ryvY:::::::::::::::::::::::::::::::::::::::::::::::J:vYxI:::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::B::yay=::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::xIyA::::>:<:yay=::::::::::::::::::: ::::::::J:B:vYxI:::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::;jysy::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::>:;:yA::::Z::xIB:>:xIyA:::::::::::::::::::::::::>:<:yay=::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::J:vYxI:::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::B::ry::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :>:ry::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::>:ry::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::>:ry::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::>:ry::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::>:ry::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::>:ry::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::>:ry::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::>:ry::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::> :ry::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::>:ry::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::>:ry::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::>:ry::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::>:ry::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::>:ry::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::>:ry::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::>:ry::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::FZ=J; HJ:VZ=>Z:^Z=>Z:fZ=>Z:nZ=>Z:vZ=>Z:>[=>:Mr:;J?HJ:V[=>:Sr:;j@HJ:n[=>:Yr:; JBH:]r:N\\=jCH:cr:f\\=JEH:ir:>]=jFH:or:V]=JHH:ur:n]=jIH:;s:F^=JKH:As:^ ^=jLH:Gs:v^=JNH:Ms:N_=jOH:Ss:f_=>:Ws:nyyyYyA:::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::>:ry::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::>:ry::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::>:ry::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::>:ry::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::>:ry::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::>:ry::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::>:ry::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :>:ry::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::>:ry::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::>:ry::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::>:ry::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::>:ry::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::>:ry::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::>:ry::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::>:ry::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::> :ry::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::>:ry::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::>:ry::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::>:;B:::ZJ>Z<>Z:B:cF:gI=ab:Ayl;B>>_J`mG>[:p\\:>:;::::::::::::::: :::::::::::::::::::::::2:" }{TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 195 "leftrotation:=proc(tree::binarytree)\n local b,c ;\n b:=rightchild(tree);\n c:='BINARYTREE'(op(1,tree),leftchil d(tree),leftchild(b));\n 'BINARYTREE'(op(1,b),c,rightchild(b))\nen d proc:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 196 "rightrotation :=proc(tree::binarytree)\n local b,c;\n b:=leftchild(tree);\n \+ c:='BINARYTREE'(op(1,tree),rightchild(b),rightchild(tree));\n \+ 'BINARYTREE'(op(1,b),leftchild(b),c)\nend proc:\n" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 28 "La proc\351dure d'\351quilibrage: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 643 "balance:=proc(tree::binarytree)\n \+ local t,l,r,hl,hr;\n t:=tree;\n l:=leftchild(t); r:=rightc hild(t);\n hl:=height(l): hr:=height(r): \n if hl-hr=2 then\n \+ if height(rightchild(l))<=height(leftchild(l)) then\n \+ return rightrotation(t)\n else \n t:='BINARYTREE'(op (1,t),leftrotation(l),r);\n return rightrotation(t)\n \+ end if\n elif hl-hr=-2 then \n if height(rightchild(r))>=he ight(leftchild(r)) then\n return leftrotation(t)\n else \n t:='BINARYTREE'(op(1,t),l,rightrotation(r));\n re turn leftrotation(t)\n end if\n end if;\n t \nend proc: \n" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 139 "Nous modifions maintenant \+ la proc\351dure d'insertion de fa\347on \340 ce qu'\340 chaque nouvell e clef ins\351r\351e, l'\351quilibre de l'arbre soit pr\351serv\351: \+ " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 494 "insertbalanced:=proc(t ree::binarytree, key::numeric)\n local a;\n if tree = emptytr ee then\n a:='BINARYTREE'(key,emptytree,emptytree)\n \+ elif key >= op(1,tree) then\n a:='BINARYTREE'(op(1..2,tree ),procname(rightchild(tree),key));\n elif key < op(1,tree) then \n a:='BINARYTREE'(op(1,tree),procname(leftchild(tree),key) ,rightchild(tree))\n else\n error \"duplicate keys i n binary tree\"\n end if;\n balance(a) \nend proc:\n" } }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 53 "On reprend des insertions avec l es m\352mes donn\351es que " }{TEXT 287 5 "tree2" }{TEXT -1 44 " mais \+ en appliquant cette fois la proc\351dure " }{TEXT 293 14 "insertbalanc ed" }{TEXT -1 15 " \340 la place de " }{TEXT 286 6 "insert" }{TEXT -1 1 ":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 147 "tree3:=emptytree: \+ keys:=[8,5,13,11,15,14,10]:\nfor key in keys do tree3:=insertbalanced (tree3,key): isbalanced(tree3) od;\ntree3; drawtree(tree3); " }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%&tree3G7%\"\")%!GF'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&tree 3G7%\"\")7%\"\"&%!GF)F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%&tree3G7%\"\")7%\"\"&%!GF)7%\"#8F)F) " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&tree3G7%\"\")7%\"\"&%!GF)7%\"#87%\"#6F)F)F)" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&tree3G7%\"\")7%\"\"&%!GF)7%\"#87%\"#6F)F)7%\"#:F)F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#> %&tree3G7%\"#87%\"\")7%\"\"&%!GF+7%\"#6F+F+7%\"#:7%\"#9F+F+F+" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&tree3G7%\"#87%\"\")7%\"\"&%!GF+7%\"#67%\"#5F+F+F+7%\"#:7%\"#9 F+F+F+" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%\"#87%\"\")7%\"\"&%!GF)7%\"#67%\"#5F)F)F)7%\"#:7%\"#9 F)F)F)" }}{PARA 13 "" 1 "" {GLPLOT2D 576 300 300 {PLOTDATA 2 "6:-%)POL YGONSG6$7U7$$\"#5\"\"!$F*F*7$$\"+8q9@**!\"*$\"+OBL`7F/7$$\"+6;$eo*F/$ \"+t))*o[#F/7$$\"+f[w(H*F/$\"+FbC\"o$F/7$$\"++o1j()F/$\"+Tn`<[F/7$$\"+ V*p,4)F/$\"+CD&y(eF/7$$\"+tio*G(F/$\"+g5ZXoF/7$$\"+'*)RUP'F/$\"+HC80xF /7$$\"+^zEe`F/$\"+a#zKW)F/7$$\"+=HzdUF/$\"+B0F[!*F/7$$\"+Q*p,4$F/$\"+l ^c5&*F/7$$\"+UJ\"Q(=F/$\"+3D(G#)*F/7$$\"+D>0zi!#5$\"+%Gn-)**F/7$$!+m>0 ziFaoFbo7$$!+YJ\"Q(=F/$\"+2D(G#)*F/7$$!+U*p,4$F/$\"+j^c5&*F/7$$!+8HzdU F/$\"+E0F[!*F/7$$!+YzEe`F/$\"+d#zKW)F/7$$!+$*)RUP'F/$\"+JC80xF/7$$!+$G 'o*G(F/$\"+]5ZXoF/7$$!+]*p,4)F/$\"+9D&y(eF/7$$!+0o1j()F/$\"+Kn`<[F/7$$ !+i[w(H*F/$\"+>bC\"o$F/7$$!+8;$eo*F/$\"+l))*o[#F/7$$!+9q9@**F/$\"+IBL` 7F/7$$FaoF*$!+:w1-T!#=7$$!+8q9@**F/$!+QBL`7F/7$$!+6;$eo*F/$!+t))*o[#F/ 7$$!+f[w(H*F/$!+FbC\"o$F/7$$!+,o1j()F/$!+Sn`<[F/7$$!+Y*p,4)F/$!+?D&y(e F/7$$!+xio*G(F/$!+c5ZXoF/7$$!+())RUP'F/$!+PC80xF/7$$!+RzEe`F/$!+i#zKW) F/7$$!+1HzdUF/$!+H0F[!*F/7$$!+M*p,4$F/$!+m^c5&*F/7$$!+QJ\"Q(=F/$!+4D(G #)*F/7$$!+%)=0ziFao$!+&Gn-)**F/7$$\"+2?0ziFao$!+%Gn-)**F/7$$\"+]J\"Q(= F/$!+2D(G#)*F/7$$\"+Y*p,4$F/$!+i^c5&*F/7$$\"++ZbF/7$$\"+1(\\z;&Fb[l$!+ /)*HXMFb[l-F][l6&F_[lF*F*F*-%*LINESTYLEG6#\"\"\"-F`\\l6%7$7$$!+VH]?$)F /Ff\\l7$$!+1(\\z;&Fb[lF[]lF]]lF_]l-F$6$7U7$$!#]F*$!#SF*7$$!+*H&)y+&Fb[ l$!+mnmuQFb[l7$$!+RoTJ]Fb[l$!+8,J^PFb[l7$$!+9NAq]Fb[l$!+Za(=j$Fb[l7$$! +?LpB^Fb[l$!+EjC=NFb[l7$$!+1I)4>&Fb[l$!+[Z@7MFb[l7$$!+t8.r_Fb[l$!+%*GX :LFb[l7$$!+5gdi`Fb[l$!+dn[HKFb[l7$$!+0K+$Fb[l7$$!+?0zigFb[lF^bl7$$!+:8Q(='Fb[lFial7$ $!+%*p,4jFb[lFdal7$$!+\"HzdU'Fb[l$!+ZH<&4$Fb[l7$$!+&zEe`'Fb[l$!+u?nbJF b[l7$$!+*)RUPmFb[lFe`l7$$!+G'o*GnFb[l$!+&*GX:LFb[l7$$!+&*p,4oFb[l$!+\\ Z@7MFb[l7$$!+!o1j(oFb[l$!+FjC=NFb[l7$$!+'[w(HpFb[l$!+[a(=j$Fb[l7$$!+hJ eopFb[l$!+9,J^PFb[l7$$!+,Z6#*pFb[l$!+nnmuQFb[l7$$!#qF*$!+++++SFb[l7$F` el$!+MKLDTFb[l7$F[el$!+())*o[UFb[l7$Ffdl$!+`X7oVFb[l7$Fadl$!+uOv\"[%Fb [l7$F\\dl$!+__y(e%Fb[l7$Fgcl$!+1ra%o%Fb[l7$Fdcl$!+WK^qZFb[l7$$!+%zEe`' Fb[l$!+EzKW[Fb[l7$Fjbl$!+`q#[!\\Fb[l7$$!+$*p,4jFb[l$!+)Fb[l$!+[Z@7uFb[l7$$!+t8.r#)Fb[l$!+ %*GX:tFb[l7$$!+5gdi$)Fb[l$!+dn[HsFb[l7$$!+0K+(Fb[l7$$!+?0zi!*Fb[lF^am7$$!+:8Q(=* Fb[lFi`m7$$!+%*p,4$*Fb[lFd`m7$$!+\"HzdU*Fb[l$!+ZH<&4(Fb[l7$$!+&zEe`*Fb [l$!+u?nbrFb[l7$$!+*)RUP'*Fb[lFe_m7$$!+G'o*G(*Fb[l$!+&*GX:tFb[l7$$!+&* p,4)*Fb[l$!+\\Z@7uFb[l7$$!+!o1j()*Fb[l$!+FjC=vFb[l7$$!+'[w(H**Fb[l$!+[ a(=j(Fb[l7$$!+hJeo**Fb[l$!+9,J^xFb[l7$$!+,Z6#***Fb[l$!+nnmuyFb[l7$$!$+ \"F*$!+++++!)Fb[l7$F`dm$!+MKLD\")Fb[l7$F[dm$!+())*o[#)Fb[l7$Ffcm$!+`X7 o$)Fb[l7$Facm$!+uOv\"[)Fb[l7$F\\cm$!+__y(e)Fb[l7$Fgbm$!+1ra%o)Fb[l7$Fd bm$!+WK^q()Fb[l7$$!+%zEe`*Fb[l$!+EzKW))Fb[l7$Fjam$!+`q#[!*)Fb[l7$$!+$* p,4$*Fb[l$!+0zi!*Fb[l$!+G n-)**)Fb[l7$$!+![4s$*)Fb[lFcgm7$$!+&o=E\"))Fb[lF^gm7$$!+0I)4p)Fb[l$!+; l0^*)Fb[l7$F]`m$!+_q#[!*)Fb[l7$Fh_mFafm7$Fc_m$!+VK^q()Fb[l7$$!+r8.r#)F b[l$!+0ra%o)Fb[l7$$!+0I)4>)Fb[l$!+^_y(e)Fb[l7$$!+>LpB\")Fb[l$!+tOv\"[) Fb[l7$F_^m$!+_X7o$)Fb[l7$Fj]m$!+'))*o[#)Fb[l7$Fe]m$!+LKLD\")Fb[l7$Fb]m $!+********zFb[l-F][l6&F_[lF+$\"*++++\"Fb[lF+-Fd[l6%7$$!#!*F*Fb]mQ\"5F h[lFi[l-F$6$7U7$$!#?F*Fb]m7$$!+*H&)y+#Fb[lFg]m7$$!+RoTJ?Fb[lF\\^m7$$!+ 9NAq?Fb[lFa^m7$$!+?LpB@Fb[lFf^m7$$!+1I)4>#Fb[lF[_m7$$!+t8.rAFb[lF`_m7$ $!+5gdiBFb[lFe_m7$$!+0K0ziIFb[lFcgm7$$!+![4s$HFb[lFcgm7$$!+&o=E\"GFb[lF^gm7$$!+0I)4p#Fb[l F^hm7$F[]nFahm7$Fh\\nFafm7$Fe\\nFehm7$$!+r8.rAFb[lFjhm7$$!+0I)4>#Fb[lF _im7$$!+>LpB@Fb[lFdim7$Fi[nFgim7$Ff[nFjim7$Fc[nF]jm7$F`[nF`jmF\\[l-Fd[ l6%7$$!#IF*Fb]mQ#11Fh[lFi[l-F`\\l6%7$7$$!+fl()[EFb[l$!+y\"Hj$*)Fb[l7$$ !+TM7^=Fb[l$!+#3nj5\"!\"(F]]lF_]l-F`\\l6%7$7$$!+TM7^LFb[lFdcn7$$!+fl() [TFb[lFicnF]]lF_]l-F$6$7U7$$!$]$!\"\"$!$?\"F*7$$!+*H&)y]$Fb[l$!+xmY(= \"F[dn7$$!+RoTJNFb[l$!+658v6F[dn7$$!+9NAqNFb[l$!+Xv=j6F[dn7$$!+?LpBOFb [l$!+LY#=:\"F[dn7$$!+1I)4p$Fb[l$!+v9AT6F[dn7$$!+t8.rPFb[l$!+*GX:8\"F[d n7$$!+5gdiQFb[l$!+w'[H7\"F[dn7$$!+0K%Fb[l$!+[V*[5\"F[dn7$$!+'o=EJ%Fb[l$!+v7x,6F[dn7$ $!+\"[4sV%Fb[l$!+Ft>+6F[dn7$$!+?0ziXFb[lFhhn7$$!+:8Q(o%Fb[lFchn7$$!+%* p,4[Fb[lF^hn7$$!+\"Hzd#\\Fb[lFign7$$!+&zEe.&Fb[lFdgn7$$!+*)RUP^Fb[lF_g n7$$!+G'o*G_Fb[l$!+!HX:8\"F[dn7$$!+&*p,4`Fb[lFefn7$$!+!o1jP&Fb[lF`fn7$ $!+'[w(HaFb[lF[fn7$$!+hJeoaFb[lFfen7$$!+,Z6#\\&Fb[lFaen7$$!$]&F[en$!++ +++7F[dn7$F^[o$!+BL`77F[dn7$F[[o$!+*)*o[A\"F[dn7$Fhjn$!+bC\"oB\"F[dn7$ Fejn$!+n`<[7F[dn7$Fbjn$!+D&y(e7F[dn7$F]jn$!+6ZXo7F[dn7$Fjin$!+C80x7F[d n7$$!+%zEe.&Fb[l$!+$zKWG\"F[dn7$Fdin$!+0F[!H\"F[dn7$$!+$*p,4[Fb[l$!+_c 5&H\"F[dn7$$!+98Q(o%Fb[l$!+D(G#)H\"F[dn7$$!+>0ziXFb[l$!+tE!)*H\"F[dn7$ $!+![4sV%Fb[lF_^o7$$!+&o=EJ%Fb[lFj]o7$$!+0I)4>%Fb[lFe]o7$FggnF`]o7$Fbg nF]]o7$F]gnFh\\o7$$!+r8.rPFb[l$!+5ZXo7F[dn7$$!+0I)4p$Fb[lFb\\o7$$!+>Lp BOFb[lF_\\o7$FienF\\\\o7$FdenFi[o7$F_enFf[o7$FidnFc[oFbjm-Fd[l6%7$$!$] %F[enF\\enQ#10Fh[lFi[l-F$6$7U7$$\"#qF*Fb^l7$$\"+,Z6#*pFb[lFg^l7$$\"+hJ eopFb[lF\\_l7$$\"+'[w(HpFb[lFa_l7$$\"+!o1j(oFb[lFf_l7$$\"+%*p,4oFb[lF[ `l7$$\"+F'o*GnFb[lF``l7$$\"+!*RUPmFb[lFe`l7$$\"+&zEe`'Fb[lFj`l7$$\"+#H zdU'Fb[lF_al7$$\"+%*p,4jFb[lFdal7$$\"+98Q(='Fb[lFial7$$\"+>0zigFb[lF^b l7$$\"+![4s$fFb[lF^bl7$$\"+&o=E\"eFb[lFial7$$\"+1I)4p&Fb[lFdal7$$\"+42 AubFb[lF\\cl7$$\"+0K&Fb[lF^dl7$$\"+?LpB^Fb[lFcdl7$$\"+9NAq]Fb[lFhdl7$$\"+RoTJ]Fb [lF]el7$$\"+*H&)y+&Fb[lFbel7$$\"#]F*Fgel7$F^eoFjel7$F[eoF]fl7$FhdoF`fl 7$FedoFcfl7$FbdoFffl7$F_doFifl7$F\\doF\\gl7$$\"+1K0ziIFb[lF^am7$$\"+![4s$HFb[lF^am7$$\"+&o=E\"GFb[lFi`m7$$\"+1I)4p#Fb[l Fd`m7$$\"+42AuDFb[lF\\bm7$$\"+0K#Fb[lF^cm7$$\"+?LpB@Fb[lFccm7$$\"+9NAq?Fb[lFhcm7 $$\"+RoTJ?Fb[lF]dm7$$\"+*H&)y+#Fb[lFbdm7$$\"#?F*Fgdm7$Fd^pFjdm7$Fa^pF] em7$F^^pF`em7$F[^pFcem7$Fh]pFfem7$Fe]pFiem7$Fb]pF\\fm7$$\"+1K " 0 "" {MPLTEXT 1 0 144 "lastchildren:=proc(tree::binarytree)\nif rightchild(tree)=emptytree then return tree\nelse return lastchildren (rightchild(tree)) end if\nend proc:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "lastchildren(tree1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%\"#:%!GF%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 489 "deletero ot:=proc(tree::binarytree)\nlocal a,b;\nif leftchild(tree)=emptytree a nd rightchild(tree)=emptytree then\n return emptytree end if;\nif lef tchild(tree)=emptytree then return balance(rightchild(tree)) end if;\n if rightchild(tree)=emptytree then return balance(leftchild(tree)) end if;\nb:=lastchildren(leftchild(tree));\na:='BINARYTREE'(op(1,b),leftc hild(tree),rightchild(tree));\na:='BINARYTREE'(op(1,a),deletebalanced( leftchild(tree),op(1,a)),rightchild(a));\nreturn balance(a)\nend proc: \n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 348 "deletebalanced:=proc (tree::binarytree, key::numeric)\nlocal a;\nif tree=emptytree then ret urn tree end if;\nif key=op(1,tree) then return deleteroot(tree) end i f;\nif key " 0 "" {MPLTEXT 1 0 105 "keys:=[5,11,14,10,13,8,15]:\nfor k ey in keys do tree3:=deletebalanced(tree3,key); isbalanced(tree3); od; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&tree3G7%\"#87%\"\")%!G7%\"#67 %\"#5F)F)F)7%\"#:7%\"#9F)F)F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%tru eG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&tree3G7%\"#87%\"\")%!G7%\"#5F )F)7%\"#:7%\"#9F)F)F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%&tree3G7%\"#87%\"\")%!G7%\"#5F)F)7% \"#:F)F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%&tree3G7%\"#87%\"\")%!GF)7%\"#:F)F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&tree 3G7%\"\")%!G7%\"#:F'F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%&tree3G7%\"#:%!GF'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&tree3G %!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 289 28 "Anc\352tres et niveau d'un n\234ud" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 299 "On peut associer \340 chaque n\234ud d'u n arbre binaire un code sous forme d'une liste de 0 et de 1, de la man i\350re suivante: \nla racine a pour code [1], ensuite dans la liste on ajoute \340 droite un 1 si l'on parcourt la branche gauche et 0 si l'on parcourt la branche droite. \nSi nous reprenons l'arbre" } {TEXT 290 6 " tree1" }{TEXT -1 111 ", nous obtenons donc les codes [1] pour \"11\", [1,1] pour \"8\", [1,0] pour \"14\", etc...jusqu'\340 [1 ,0,0] pour \"15\"." }}}{PARA 13 "" 1 "" {GLPLOT2D 229 236 236 {PLOTDATA 2 "68-%)POLYGONSG6$7U7$$\"#5\"\"!$F*F*7$$\"+8q9@**!\"*$\"+OB L`7F/7$$\"+6;$eo*F/$\"+t))*o[#F/7$$\"+f[w(H*F/$\"+FbC\"o$F/7$$\"++o1j( )F/$\"+Tn`<[F/7$$\"+V*p,4)F/$\"+CD&y(eF/7$$\"+tio*G(F/$\"+g5ZXoF/7$$\" +'*)RUP'F/$\"+HC80xF/7$$\"+^zEe`F/$\"+a#zKW)F/7$$\"+=HzdUF/$\"+B0F[!*F /7$$\"+Q*p,4$F/$\"+l^c5&*F/7$$\"+UJ\"Q(=F/$\"+3D(G#)*F/7$$\"+D>0zi!#5$ \"+%Gn-)**F/7$$!+m>0ziFaoFbo7$$!+YJ\"Q(=F/$\"+2D(G#)*F/7$$!+U*p,4$F/$ \"+j^c5&*F/7$$!+8HzdUF/$\"+E0F[!*F/7$$!+YzEe`F/$\"+d#zKW)F/7$$!+$*)RUP 'F/$\"+JC80xF/7$$!+$G'o*G(F/$\"+]5ZXoF/7$$!+]*p,4)F/$\"+9D&y(eF/7$$!+0 o1j()F/$\"+Kn`<[F/7$$!+i[w(H*F/$\"+>bC\"o$F/7$$!+8;$eo*F/$\"+l))*o[#F/ 7$$!+9q9@**F/$\"+IBL`7F/7$$FaoF*$!+:w1-T!#=7$$!+8q9@**F/$!+QBL`7F/7$$! +6;$eo*F/$!+t))*o[#F/7$$!+f[w(H*F/$!+FbC\"o$F/7$$!+,o1j()F/$!+Sn`<[F/7 $$!+Y*p,4)F/$!+?D&y(eF/7$$!+xio*G(F/$!+c5ZXoF/7$$!+())RUP'F/$!+PC80xF/ 7$$!+RzEe`F/$!+i#zKW)F/7$$!+1HzdUF/$!+H0F[!*F/7$$!+M*p,4$F/$!+m^c5&*F/ 7$$!+QJ\"Q(=F/$!+4D(G#)*F/7$$!+%)=0ziFao$!+&Gn-)**F/7$$\"+2?0ziFao$!+% Gn-)**F/7$$\"+]J\"Q(=F/$!+2D(G#)*F/7$$\"+Y*p,4$F/$!+i^c5&*F/7$$\"+#Fb[l$!+[Z@7MFb[l7$$!+t8.rAFb[l$!+%*GX:LFb[l7$$!+ 5gdiBFb[l$!+dn[HKFb[l7$$!+0K+$Fb[l7$$!+?0ziIFb[lF]bl7$$!+:8Q(=$Fb[lFhal7$$!+%*p,4LFb [lFcal7$$!+\"HzdU$Fb[l$!+ZH<&4$Fb[l7$$!+&zEe`$Fb[l$!+u?nbJFb[l7$$!+*)R UPOFb[lFd`l7$$!+G'o*GPFb[l$!+&*GX:LFb[l7$$!+&*p,4QFb[l$!+\\Z@7MFb[l7$$ !+!o1j(QFb[l$!+FjC=NFb[l7$$!+'[w(HRFb[l$!+[a(=j$Fb[l7$$!+hJeoRFb[l$!+9 ,J^PFb[l7$$!+,Z6#*RFb[l$!+nnmuQFb[l7$Fa^l$!+++++SFb[l7$F_el$!+MKLDTFb[ l7$Fjdl$!+())*o[UFb[l7$Fedl$!+`X7oVFb[l7$F`dl$!+uOv\"[%Fb[l7$F[dl$!+__ y(e%Fb[l7$Ffcl$!+1ra%o%Fb[l7$Fccl$!+WK^qZFb[l7$$!+%zEe`$Fb[l$!+EzKW[Fb [l7$Fibl$!+`q#[!\\Fb[l7$$!+$*p,4LFb[l$!+0ziIFb[l$!+Gn-)*\\Fb[l7$$!+![4s$HFb[lF`hl7$$!+&o=E\"GFb [lF[hl7$$!+0I)4p#Fb[l$!+;l0^\\Fb[l7$F\\al$!+_q#[!\\Fb[l7$Fg`lF^gl7$Fb` l$!+VK^qZFb[l7$$!+r8.rAFb[l$!+0ra%o%Fb[l7$$!+0I)4>#Fb[l$!+^_y(e%Fb[l7$ $!+>LpB@Fb[l$!+tOv\"[%Fb[l7$F^_l$!+_X7oVFb[l7$Fi^l$!+'))*o[UFb[l7$Fd^l $!+LKLDTFb[l7$F_^l$!+********RFb[lF\\[l-Fd[l6%7$$!#IF*Fa^lQ\"8Fh[lFi[l -F`\\l6%7$7$$!+fl()[EFb[l$!+y\"Hj$\\Fb[l7$$!+TM7^=Fb[l$!+A3njqFb[lF\\] lF^]l-F`\\l6%7$7$$!+TM7^LFb[lF[\\m7$$!+fl()[TFb[lF`\\mF\\]lF^]l-F$6$7U 7$$!$]$!\"\"$!#!)F*7$$!+*H&)y]$Fb[l$!+mnmuyFb[l7$$!+RoTJNFb[l$!+8,J^xF b[l7$$!+9NAqNFb[l$!+Za(=j(Fb[l7$$!+?LpBOFb[l$!+EjC=vFb[l7$$!+1I)4p$Fb[ l$!+[Z@7uFb[l7$$!+t8.rPFb[l$!+%*GX:tFb[l7$$!+5gdiQFb[l$!+dn[HsFb[l7$$! +0K%Fb[l$!+%[V *[qFb[l7$$!+'o=EJ%Fb[l$!+\\Fr+(Fb[l7$$!+? 0ziXFb[lF^am7$$!+:8Q(o%Fb[lFi`m7$$!+%*p,4[Fb[lFd`m7$$!+\"Hzd#\\Fb[l$!+ ZH<&4(Fb[l7$$!+&zEe.&Fb[l$!+u?nbrFb[l7$$!+*)RUP^Fb[lFe_m7$$!+G'o*G_Fb[ l$!+&*GX:tFb[l7$$!+&*p,4`Fb[l$!+\\Z@7uFb[l7$$!+!o1jP&Fb[l$!+FjC=vFb[l7 $$!+'[w(HaFb[l$!+[a(=j(Fb[l7$$!+hJeoaFb[l$!+9,J^xFb[l7$$!+,Z6#\\&Fb[l$ !+nnmuyFb[l7$$!$]&Fa]m$!+++++!)Fb[l7$F`dm$!+MKLD\")Fb[l7$F[dm$!+())*o[ #)Fb[l7$Ffcm$!+`X7o$)Fb[l7$Facm$!+uOv\"[)Fb[l7$F\\cm$!+__y(e)Fb[l7$Fgb m$!+1ra%o)Fb[l7$Fdbm$!+WK^q()Fb[l7$$!+%zEe.&Fb[l$!+EzKW))Fb[l7$Fjam$!+ `q#[!*)Fb[l7$$!+$*p,4[Fb[l$!+0ziXFb[l$!+Gn-)**)Fb[l7$$!+![4sV%Fb[lFcgm7$$!+&o=EJ%Fb[lF^gm7$$!+0 I)4>%Fb[l$!+;l0^*)Fb[l7$F]`m$!+_q#[!*)Fb[l7$Fh_mFafm7$Fc_m$!+VK^q()Fb[ l7$$!+r8.rPFb[l$!+0ra%o)Fb[l7$$!+0I)4p$Fb[l$!+^_y(e)Fb[l7$$!+>LpBOFb[l $!+tOv\"[)Fb[l7$F_^m$!+_X7o$)Fb[l7$Fj]m$!+'))*o[#)Fb[l7$Fe]m$!+LKLD\") Fb[l7$F_]m$!+********zFb[l-F][l6&F_[lF+$\"*++++\"Fb[lF+-Fd[l6%7$$!$]%F a]mFb]mQ\"5Fh[lFi[l-F$6$7U7$$!#]Fa]mFb]m7$$!+()H&)y]F/Fg]m7$$!+*QoTJ&F /F\\^m7$$!+T^B-dF/Fa^m7$$!++K$pB'F/Ff^m7$$!+d+$)4pF/F[_m7$$!+FPJ5xF/F` _m7$$!+/,wD')F/Fe_m7$$!+\\?tT'*F/Fj_m7$$!+32Au5Fb[lF_`m7$$!+1I)4>\"Fb[ lFd`m7$$!+'o=EJ\"Fb[lFi`m7$$!+\"[4sV\"Fb[lF^am7$$!+?0zi:Fb[lF^am7$$!+: 8Q(o\"Fb[lFi`m7$$!+%*p,4=Fb[lFd`m7$$!+\"Hzd#>Fb[lF\\bm7$$!+&zEe.#Fb[lF abm7$$!+*)RUP@Fb[lFe_m7$$!+G'o*GAFb[lFibm7$$!+&*p,4BFb[lF^cm7$$!+!o1jP #Fb[lFccm7$$!+'[w(HCFb[lFhcm7$$!+hJeoCFb[lF]dm7$$!+,Z6#\\#Fb[lFbdm7$$! $]#Fa]mFgdm7$Fh_nFjdm7$Fe_nF]em7$Fb_nF`em7$F__nFcem7$F\\_nFfem7$Fi^nFi em7$Ff^nF\\fm7$$!+%zEe.#Fb[lFafm7$F`^nFdfm7$$!+$*p,4=Fb[lFifm7$$!+98Q( o\"Fb[lF^gm7$$!+>0zi:Fb[lFcgm7$$!+![4sV\"Fb[lFcgm7$$!+&o=EJ\"Fb[lF^gm7 $$!+0I)4>\"Fb[lF^hm7$F[]nFahm7$$!+]?tT'*F/Fafm7$Fe\\nFehm7$$!+9PJ5xF/F jhm7$$!+Z+$)4pF/F_im7$$!+$>LpB'F/Fdim7$$!+P^B-dF/Fgim7$$!+'QoTJ&F/Fjim 7$$!+')H&)y]F/F]jm7$F`[nF`jmFbjm-Fd[l6%7$$!$]\"Fa]mFb]mQ#10Fh[lFi[l-F$ 6$7U7$$\"#SF*Fa^l7$$\"+,Z6#*RFb[lFf^l7$$\"+hJeoRFb[lF[_l7$$\"+'[w(HRFb [lF`_l7$$\"+!o1j(QFb[lFe_l7$$\"+%*p,4QFb[lFj_l7$$\"+F'o*GPFb[lF_`l7$$ \"+!*RUPOFb[lFd`l7$$\"+&zEe`$Fb[lFi`l7$$\"+#HzdU$Fb[lF^al7$$\"+%*p,4LF b[lFcal7$$\"+98Q(=$Fb[lFhal7$$\"+>0ziIFb[lF]bl7$$\"+![4s$HFb[lF]bl7$$ \"+&o=E\"GFb[lFhal7$$\"+1I)4p#Fb[lFcal7$$\"+42AuDFb[lF[cl7$$\"+0K#Fb[lF]dl7$$\"+ ?LpB@Fb[lFbdl7$$\"+9NAq?Fb[lFgdl7$$\"+RoTJ?Fb[lF\\el7$$\"+*H&)y+#Fb[lF ael7$$\"#?F*Fdel7$FdhnFgel7$FahnFjel7$F^hnF]fl7$F[hnF`fl7$FhgnFcfl7$Fe gnFffl7$FbgnFifl7$$\"+1KFb[lF_`m7$$\"+%*p,4=Fb[lFd`m7$$\"+98Q(o\"Fb[lF i`m7$$\"+>0zi:Fb[lF^am7$$\"+![4sV\"Fb[lF^am7$$\"+&o=EJ\"Fb[lFi`m7$$\"+ 1I)4>\"Fb[lFd`m7$$\"+42Au5Fb[lF\\bm7$$\"+a?tT'*F/Fabm7$$\"+2,wD')F/Fe_ m7$$\"+LpB'F/Fccm7$$\"+Q^B-dF/Fhc m7$$\"+(QoTJ&F/F]dm7$$\"+')H&)y]F/Fbdm7$$\"#]Fa]mFgdm7$$\"+()H&)y]F/Fj dm7$$\"+*QoTJ&F/F]em7$$\"+T^B-dF/F`em7$$\"+*>LpB'F/Fcem7$$\"+a+$)4pF/F fem7$$\"+BPJ5xF/Fiem7$$\"+8,wD')F/F\\fm7$$\"+h?tT'*F/Fafm7$Fb`oFdfm7$$ \"+2I)4>\"Fb[lFifm7$$\"+'o=EJ\"Fb[lF^gm7$$\"+\"[4sV\"Fb[lFcgm7$$\"+?0z i:Fb[lFcgm7$$\"+:8Q(o\"Fb[lF^gm7$$\"+&*p,4=Fb[lF^hm7$F]_oFahm7$Fj^oFaf m7$Fg^oFehm7$$\"+H'o*GAFb[lFjhm7$$\"+&*p,4BFb[lF_im7$$\"+\"o1jP#Fb[lFd im7$F[^oFgim7$Fh]oFjim7$Fe]oF]jm7$Fb]oF`jmFbjm-Fd[l6%7$$\"$]\"Fa]mFb]m Q#13Fh[lFi[l-F$6$7U7$$\"$]&Fa]mFb]m7$$\"+,Z6#\\&Fb[lFg]m7$$\"+hJeoaFb[ lF\\^m7$$\"+'[w(HaFb[lFa^m7$$\"+!o1jP&Fb[lFf^m7$$\"+%*p,4`Fb[lF[_m7$$ \"+F'o*G_Fb[lF`_m7$$\"+!*RUP^Fb[lFe_m7$$\"+&zEe.&Fb[lFj_m7$$\"+#Hzd#\\ Fb[lF_`m7$$\"+%*p,4[Fb[lFd`m7$$\"+98Q(o%Fb[lFi`m7$$\"+>0ziXFb[lF^am7$$ \"+![4sV%Fb[lF^am7$$\"+&o=EJ%Fb[lFi`m7$$\"+1I)4>%Fb[lFd`m7$$\"+42AuSFb [lF\\bm7$$\"+0K%Fb[lFifm7$$\"+'o=EJ%Fb[lF^gm7$$\"+\"[4sV%Fb[lFcgm7$$\"+?0zi XFb[lFcgm7$$\"+:8Q(o%Fb[lF^gm7$$\"+&*p,4[Fb[lF^hm7$F_hoFahm7$F\\hoFafm 7$FigoFehm7$$\"+H'o*G_Fb[lFjhm7$$\"+&*p,4`Fb[lF_im7$$\"+\"o1jP&Fb[lFdi m7$F]goFgim7$FjfoFjim7$FgfoF]jm7$FdfoF`jmFbjm-Fd[l6%7$$\"$]%Fa]mFb]mQ# 15Fh[lFi[l-%(SCALINGG6#%,CONSTRAINEDG-%*AXESSTYLEG6#%%NONEG" 1 2 0 1 10 0 2 9 1 1 1 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" "C urve 3" "Curve 4" "Curve 5" "Curve 6" "Curve 7" "Curve 8" "Curve 9" "C urve 10" "Curve 11" "Curve 12" "Curve 13" "Curve 14" "Curve 15" "Curve 16" "Curve 17" "Curve 18" "Curve 19" "Curve 20" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 13 "La proc\351dure " }{TEXT 292 9 "keytocode" }{TEXT -1 43 " calcule r\351cursivement le code d'une clef " }{TEXT 291 3 "k ey" }{TEXT -1 1 ":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 451 "keyt ocode:=proc(tree::binarytree, key::numeric)\nlocal code,c;\n\ncode:=pr oc(tree::binarytree, key::numeric)\n if tree = emptytree then\n error \"key not found in binary tree\"\n elif key < op(1,tree) then\n c:=c,1: procname(leftchild(tree),key)\n \+ elif key > op(1,tree) then\n c:=c,0: procname(rightc hild(tree),key)\n else\n c:=1,c\n end if\nend p roc:\n\nc:=NULL: [code(tree,key)]\nend proc:\n" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 49 "seq(k=keytocode(tree1,k),k=[bftraversal(tree1) ]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6)/\"#67#\"\"\"/\"\")7$F&F&/\"#97 $F&\"\"!/\"\"&7%F&F&F&/\"#57%F&F&F-/\"#87%F&F-F&/\"#:7%F&F-F-" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 13 "La proc\351dure " }{TEXT 294 9 "co detokey" }{TEXT -1 29 " effectue le travail inverse:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 272 "codetokey:=proc(tree::binarytree, code:: list)\n if tree = emptytree then return\n elif nops(code)=1 then op(1, tree)\n else\n if op(2,code)=0 then procname(rightchild(tree),code[2 ..nops(code)])\n else procname(leftchild(tree),code[2..nops(code)]) \+ end if\n end if\nend proc: \n " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 83 "seq(keytocode(tree1,k)=codetokey(tree1,keytocode(tree1,k)),k=[ bftraversal(tree1)]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6)/7#\"\"\"\"#6 /7$F%F%\"\")/7$F%\"\"!\"#9/7%F%F%F%\"\"&/7%F%F%F,\"#5/7%F%F,F%\"#8/7%F %F,F,\"#:" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 58 "Pour trouver le n\234ud-parent d'un n\234ud d\351fini par sa clef " }{TEXT 295 3 "key" }{TEXT -1 341 ", il suffit maintenant d e calculer son code, d'enlever l'\351l\351ment le plus \340 droite dan s cette liste,\net de calculer la clef coorespondant \340 cette nouvel le liste.\nPar exemple, le code de \"15\" \351tant [1,0,0], on obtient la nouvelle liste [1,0] qui est le code du n\234ud-parent \"14\" .\nL a racine d'un arbre binaire n'a pas de n\234ud-parent (r\351sultat " }{TEXT 296 4 "FAIL" }{TEXT -1 21 " pour la clef \"11\"). " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 197 "ancestor:=proc(tree::binarytree, k ey::numeric)\nlocal c;\n c:=keytocode(tree,key):\n if c=[1] then FAI L # key is root in binary tree\" \n else\n codetokey(tree,c[1..no ps(c)-1])\n end if\nend proc:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "ancestor(tree1,15), ancestor(tree1,11);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6$\"#9%%FAILG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 49 "Liste des anc\352tres d'un n\234ud d\351fini par sa clef " } {TEXT 304 3 "key" }{TEXT -1 1 ":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 219 "ancestors:=proc(tree::binarytree, key::numeric)\nloc al L,c,k;\nL:=NULL: k:=key: c:=[0,0]:\ndo\n c:=keytocode(tree,k):\n \+ if c=[1] then break end if;\n k:=codetokey(tree,c[1..nops(c)-1]): \n L:=L,k\nend do;\n[L]\nend proc: \n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "ancestors(tree1,10); ancestors(tree2,10);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$\"\")\"#6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%\"#6\"#8\"\")" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 13 "La proc\351 dure " }{TEXT 300 5 "level" }{TEXT -1 63 " permet de calculer le nivea u auquel se situe un n\234ud de clef " }{TEXT 297 3 "key" }{TEXT -1 15 " dans l'arbre: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 174 "lev el:=proc(tree::binarytree, key::numeric)\nlocal c,k,n,x;\n x:=0: c:=k eytocode(tree,key): n:=nops(c): \n for k to n do x:=x+2^(n-k)*c[k] o d;\n 1+trunc(log[2](x))\nend proc:\n" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 146 "Le n\234ud \"11\" (racine) est au niveau 1, le n\234ud \+ \"8\" est au niveau 2 tandis que le n\234ud \"15\" est au niveau 3 (qu i est aussi la hauteur de l'arbre): " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "level(tree1,11),level(tree1,8),level(tree1,15);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6%\"\"\"\"\"#\"\"$" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 32 "Liste des n\234uds de niveau donn\351 " }{TEXT 298 2 "lv" }{TEXT -1 1 ":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 228 "haslevel:=proc(tree::binarytree, lv::posint)\nlocal L,l,key;\n L :=NULL:\n for key in [bftraversal(tree)] do\n l:=level(tree,key): \n if l>lv then return [L]\n elif l=lv then L:=L,key\n end if \n end do: \n [L]\nend proc: \n" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 51 "Liste des n\234uds de niveau 1,2,3 de l'arbre binaire " }{TEXT 299 5 "tree1" }{TEXT -1 1 ":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "seq(haslevel(tree1,k),k=1..height(tree1));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%7#\"#67$\"\")\"#97&\"\"&\"#5\"#8\"#:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 305 18 "Clonage et \351galit\351" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 13 "La proc\351dure " }{TEXT 309 5 "clone" }{TEXT -1 45 " construit r\351cursivement un clone de l'arbre " }{TEXT 306 4 "tr ee" }{TEXT -1 1 ":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 167 "clon e:=proc(tree::binarytree)\nif tree = emptytree then emptytree\nelse 'B INARYTREE'(op(1,tree), procname(leftchild(tree)), procname(rightchild( tree))) end if\nend proc:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "tree2; clone(tree2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%\"\")7% \"\"&%!GF'7%\"#87%\"#67%\"#5F'F'F'7%\"#:7%\"#9F'F'F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%\"\")7%\"\"&%!GF'7%\"#87%\"#67%\"#5F'F'F'7%\"#:7% \"#9F'F'F'" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 55 "Proc\351dure permet tant de tester si deux arbres binaires " }{TEXT 308 5 "tree1" }{TEXT -1 4 " et " }{TEXT 307 5 "tree2" }{TEXT -1 12 " sont \351gaux:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 327 "equal:=proc(tree1::binarytr ee,tree2::binarytree)\nif tree1=emptytree then evalb(tree2=emptytree) \nelif tree2=emptytree then evalb(tree1=emptytree)\nelse\n if op(1,t ree1)<>op(1,tree2) then false\n else\n procname(leftchild(tree1) ,leftchild(tree2)) and procname(rightchild(tree1),rightchild(tree2))\n end if\nend if \nend proc:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "tree3:=clone(tree2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&tre e3G7%\"\")7%\"\"&%!GF)7%\"#87%\"#67%\"#5F)F)F)7%\"#:7%\"#9F)F)F)" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "equal(tree1,tree2);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%&falseG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "equal(tree3,tree2);" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#%%trueG" }}}}{MARK "2 0 2" 13 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 } {PAGENUMBERS 0 1 2 33 1 1 }