From c60330e96c908472e3662d3874a2e391f93ad1bb Mon Sep 17 00:00:00 2001 From: landrin Date: Tue, 26 Nov 2024 12:26:12 +0100 Subject: [PATCH] =?UTF-8?q?Tout=20sauf=20complexit=C3=A9=20algo=20ex4=20ma?= =?UTF-8?q?nquant=20pour=20le=20moment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- algo_tri.py | 60 ++++++++++++++++++++++++++++++++++++++++ rapport_td4_landrin.odt | Bin 0 -> 17594 bytes rapport_td4_landrin.pdf | Bin 0 -> 27840 bytes 3 files changed, 60 insertions(+) create mode 100644 algo_tri.py create mode 100644 rapport_td4_landrin.odt create mode 100644 rapport_td4_landrin.pdf diff --git a/algo_tri.py b/algo_tri.py new file mode 100644 index 0000000..8c7133f --- /dev/null +++ b/algo_tri.py @@ -0,0 +1,60 @@ +#Trie les éléments dans un tableau +def trie_bulle(arr): + n = len(arr) + for i in range(n): + for j in range(0, n - i - 1): + if arr[j] > arr[j + 1]: + arr[j], arr[j + 1] = arr[j + 1], arr[j] # Échange les éléments + +# Trie les tableau en fonction de la somme de leurs éléments +def trie_bulle_somme(array): + n = len(array) + for i in range(n): + for j in range(0, n - i - 1): + if sum(detache_tab(array[j])) > sum(detache_tab(array[j + 1])): + array[j], array[j + 1] = array[j + 1], array[j] # Échange les sous-tableaux + +# Détache les tableaux entre eux +def detache_tab(array): + if isinstance(array, int): # Si val unique + return [array] + else: + return [value for subarray in array for value in detache_tab(subarray)] + +def trie_tab(array): + if isinstance(array[0], int): # Si c'est un tableau 1D + trie_bulle(array) # Trie le tableau 1D + return array + else: # Si multu dimension + for i in range(len(array)): + array[i] = trie_tab(array[i]) # Trie chaque sous-tableau + # Trie les sous-tableaux par somme des valeur + trie_bulle_somme(array) + return array + + +array = [[0, 3, 2], [9, 4, 5], [4, 1, 3]] +result = trie_tab(array) +print(result) + +array_4d = [ + [ + [ + [1, 3, 2], [4, 6, 5] + ], + [ + [7, 1, 9], [2, 1, 3] + ] + ], + [ + [ + [3, 4, 1], [5, 2, 6] + ], + [ + [9, 6, 8], [3, 1, 2] + ] + ] +] + +result2 = trie_tab(array_4d) +print(result2) \ No newline at end of file diff --git a/rapport_td4_landrin.odt b/rapport_td4_landrin.odt new file mode 100644 index 0000000000000000000000000000000000000000..92bf111721472bc0aa25cfa59ba684a1b7cc01ea GIT binary patch literal 17594 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
N{YZ0zzNujAxh(D z_BOA~a|t1{oX;uW0BSbRdpbk8Lz8B%OnljT&8Ec>#PisWPa5}}KZonrH^mN|Ieo1o zb3wD7NzPygSkeYl#F=LR2?q1A{7XnYt_1R;js%~K79q9!wZ!!85+-YkM^n|lQI;h& z!{7sEz81=w2hWE1MfRR^1|s6$a}Pu5X@wi$Drw&k1`i zB|Ws{llN!2ogxiGRBJ_xo3;z(Wk<1GQ;75Wtf1=ptR=l{o{e$lY0R@R!(QqLW9B!U zm>RA`d#7a2;E_#3)))e-*KHUA8$UL@IwTvmM@MFzz>N#voTQ*3czbYDOg0;UZGccr zvCApGI*&``I5#E^5Y9_}NuB>HHf}it*IDZ_v}y>s28_vXsJ-d%h_M2kzhw!jV3M=v zLt@}mI!b=qnaL(>2zng9%m`Q8iIs01omR&84AIi@JJ|L+__Spf-N~n=2{+C1<8=<- z!_T4;0+Y$8?42m=R;)ASlWB6Ga*OCwr`dVCI*4f`Xh}Ro*ANvNGo05e$djnhK=oD? z07rnZZ>FJs;9x^cBN$*SEBB9oIea#Pya?eZI!kCPi@!h<0$I8k5BYk&K|sn^1MAWRAv_7#LY^#`Lw+D95-W8W;=Bth_kh}>88dHOicnb-$@-!_w z7W)eOq?Tqzmr-6~;ye*VSRnQ5F|J$d+ls0;>^q(#+9MER!(%@}{J!vvU4lr_Q<{4> zbO{B|r!_m=9LipB!z;B>j^jpz5Ky#fXUF;Hp@FC~zLT~qJgwTJcnAZOTKtSS)kaV> ziAOwOM=IeZ3jNb^2XaG(V}L6E_USp|PF>{2*=LR=2g)I6|HEO_UwSpH>bFd%165xd z<`WIbIlynjgLLa*u*e?R>!gE8thD87AN74|+T(9BFxG8YPY>r%i?dPlJ0@OO4laBp z7=|pdU_y3cfs&H_fXJgnU|}eP=`)e(V|zrQwN11w8WOgwaRqHW|x#Xw7`h5-w=12T;@k1k^?@ji^ z+F$*LTTV;bZEr1;!r;Luj!T1_v=0?>Zwdb(Vl^0)C7LvWEb$f<<{BayGOP{CstZz9 zh22Pe0lh!{ZjRas~huMz&~T*$&1S#pA6ykJg>VmTLj8X@_qLmZ{Mecj2L_#=|c zSf2oBQq2y4n_zXZJDR+S5VrsOsY5Y%QMM0~b2a++6cefD*5z!UPvOB|Ht}1OB~a$& zp%Rl&)pUNkfQCH}rQOu7q?rL``h>bo_0lOA51EaPZbt0#^}@fGxL1qYn7PUMY&zBM zwTYw8tF)qxIH;My{F-k*1ZD^nGIr4a)WPc(3OfB+3?bxdbgV!TJ+MIa#0|6fa*_a-*q2*$+BT5a7mFV^#Y$>XAxCJH|1zP6&u3OFILz)bh-eAHLIKbJ^$SE0jt3BCBnG5J7138UAg=`l0o zRn8w*{K?7LiB|QtvwpzqoGM$m%cS6w1wHy5kl`s7Z2%$#T5%pIxc$=wBKx_g%Q|=C^I&f=lMz zV|X@*6mYfkHHBd}1}(grMVt9a`khys`Y}0$d$~d!1@%=Qg`RWe>~t#lJ#t?KeHgpD zLcc+UdE`_WR%THiR<=P0#MmAt^XN$ffR1JK&Wz_q6}{-^nQ}hvIM8=1KgDsnjNA4~ z5!!EZRI4EOTEgG~71 zK?(uzcp6CnFWm=;S=Adi73$cKhBgC}Un>t+M8FSf6J%jp5qQ>6Un!lb1ZpI*%kxKM(j8W61~T z%rebK8aK3}Wmc~9&)B%4T8}gwq(#e*U^`1N8-|m6ir9W{2rQLwNgXL2-*Cs5W}KEf z*k%PXWLOvcM&BxHDVsKj48JO?Wl%wk(72I8&XlkBNz;}GsdWTpXzi}$f%7u*7lsPQNZbT zR;vCa7MSBv(Bax(_KPw();5Gj>tU*FY_6oegO4?p-jka40LA3>fhR8=P@AM~JXyMd z^?r%_WR&mfCU&QxAN-TIEBY`6@$`bkd3pq$Boi>mmw@$C&8i4&Xhl)c6Dv=Gx1V z7ztnephEZ&aQx@Q8&|fMc_muC<$Xin?mzg+T#6EK!#XIQHAfp5~0Kp5aiSb*A7mNOE_@W;DN%0d|noNvKPOn<`_StwW zl@ItLBaw3_Zq~@W6W{Y_)2K0Rw2mT0TIr!%eIP@w!spb?u-IcJlXhAT6W0^IKIr~W zklKO7nL(d2q0kE0^&%Ca!+LUZ0{Moa<7Z@4u>`?>CFCzPogJF}h*c_vDn0f45etR@ z!daI7NmzIH>QW(pL~sACOq60Euu@~aE^nyJgNVI!vV@t4DYJl#9@SwpROrHoa~$&X zLqKWGkT3lhhXh{#lw|=uMD&GPOp_FJA3J!KBIToQ$wdMRR9C>P_v`{PUw$7X;hy?9 zCDwP=?;@o=9hBYQlh&i9i=t6y(J!;b`T;Ddh~(2zmhKDCX_MvOf09$4xn*4c4Bv?k zhF?+z03-A7Rct%BNNZf8$7%#3{DnEC z+Z=1l;+H;1tIwR;U!AMW2_FNi%1Ak_dB1_JZkpynR zZMo`bubMe*!JUp7@Aa~Wm868_kMy<_cul}&cwz2-rLSy3(GtQxw(WBbs5wjtbhNUw zm;oimG(Z_!@KCZ0Y9dIFT;R=PC_Z@j0Ro9%rb_#JEYL=ZZa3XxXZ zjP8b`|5RPZVs*fZQ@cg+$PfIxw|sZ^1;*4pCY1H2+O*durmn3Vh>)%eu2a-70q|1W=Cu@}K2 zCjG}8DIewj3S{+)lFwh#a8C{>2@5u3#Ns~@)5BA4w<$a`7q^w2vgC)Bjdu|;yz%@V zr~k-t9kl)!h6ft_Pvi98d_@ag7i$LqwZ5*tiJ`uMjse-GzK#ymrh$&m6ePn3+Z7Uu z3&lVg>Eq4c*FP^EqJI1;C8WqlEha5Y``;|$kI{ccd{1Z}K0@GyN9d+Q$oYM}=nO8} zJ#;I)&Uo@CBUtvt{j&xC!tq)#tV5}t-IuqRp0%yz)@=|1^(fSr&5LrN+0MpA#nXdF zP0!js&pLBdbkb^Lhc&A1#I>Ij zeGc1!!qWIV$n&9gcT!*rpMAeX#>cH=l<`eK<(YPo<5FXsWRLCTc!ALkx6~>CDw9>m z?wY}hD=11Xvh_+&(&zN?ZF^FqoVpJx>__O6RpYis^J=6%5q+~7h&xY?KA3l@{XPkO zvOB|qYj)$$s?uS2Bn}ykl}mFOgpFL5gBX0hI+)}abugPLtA-9PC9$qshhI}+#tVCJ zvaN8jdAD^#{F5%AYM*`XMX*5m8CE8IcsTddYxZJ@SJm(v`tS0$WB%UH^}#(22K!z9 zz#u3<|Lg|f<4^dL{M#wOe`@{dm47jE{&<%92>vts|F3cXq4i(9o}}wmaen(7_(Nbo{@*hCf4mR;7udg-4gO56 z|80)`5YZ2?|F$C^-U$9(iT|znXG->O>ir)Q^g$T=@P_d(BL07B{h6lr*Z4xf|4QEe zx8^_5*#3yG>;veZNNxW{`FE=Synyn1x8)BJr}*>U%YW+q*`WVkUim{}82+-@@}G)- xw%&iuFdO$@t^a>&{@L#Qw(fsOz=!7F+Im?D@DB>$@2&y~DC@&qf%E=;`ahB^Oc($F literal 0 HcmV?d00001 diff --git a/rapport_td4_landrin.pdf b/rapport_td4_landrin.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9bb44aea61473560a7b089d8dd577747dc57b87d GIT binary patch literal 27840 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