From a85a912142636b13999b4c3f141c3869c41c4d10 Mon Sep 17 00:00:00 2001 From: damriera Date: Wed, 15 Oct 2025 10:53:18 +0200 Subject: [PATCH] fin du td --- README.md | 10 ++++++---- __pycache__/tri_fusion.cpython-313.pyc | Bin 1434 -> 1494 bytes test.py | 2 +- tri_fusion.py | 6 ++++-- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 2187f05..c3377ff 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,8 @@ cette fonction a une complexité de **O(1)** ```py def entree_tri_fusion_multi(tab): - return [tri_fusion(sub_tab) for sub_tab in tab] # Appliquer le tri fusion à chaque sous-tableau + tab = [tri_fusion(sub_tab) for sub_tab in tab] # Appliquer le tri fusion à chaque sous-tableau + return sorted(tab, key=sum) # Trier les sous-tableaux par la somme de leurs éléments def tri_fusion(tab): if len(tab) <= 2: @@ -79,15 +80,16 @@ def fusion(left, right): ```py from tri_fusion import entree_tri_fusion_multi -tab = [[5, 2, 9, 1, 5, 6], [3, 0, -1, 8, 7], [10, 20, 15, 30]] +tab = [[38, 27, 43, 3, 9, 82, 10], [1, 2, 3], [5, 4, 6], [12, 11]] sorted_tab = entree_tri_fusion_multi(tab) print("Tableau trié :", sorted_tab) ``` ```bash -Tableau trié : [[1, 2, 5, 5, 6, 9], [-1, 0, 3, 7, 8], [10, 15, 20, 30]] +Tableau trié : [[1, 2, 3], [4, 5, 6], [11, 12], [3, 9, 10, 27, 38, 43, 82]] ``` -La complexité de l'algorithme de tri fusion est **O(n log n)** pour chaque sous-tableau, où *n* est la taille du sous-tableau. Comme `entree_tri_fusion_multi` applique le tri fusion à chaque sous-tableau indépendamment, la complexité totale dépend de la somme des tailles des sous-tableaux, mais chaque tri reste en **O(n log n)**. +La complexité de l’algorithme est **O(k · n log n)**, où ***k*** est le nombre de sous-tableaux et ***n*** leur taille moyenne. +Chaque sous-tableau est trié par tri fusion en **O(n log n)**, puis la liste des sous-tableaux est triée par somme en **O(k log k)**, ce qui est négligeable devant le terme dominant. diff --git a/__pycache__/tri_fusion.cpython-313.pyc b/__pycache__/tri_fusion.cpython-313.pyc index 59df5db842eeb54e6ab1643a696d104c9f25ed74..cbc5d51f550ffc201945750004c8e7a0cb2cd4dd 100644 GIT binary patch delta 398 zcmbQmeT|#Wp9F&CHSPTZK{ z1hR#Zfq|h|mw|zyf#If};bktPRmls?d#om;U*ncrncU!ffy?L)x8MZjImQ>cV3UhLaw{2%KoVd}Z*kb<=BJeA nq}mn9GB7ZJY%2yyeqd%~Wcw^ zMVawwrNx=~c@yuan6oo5FfcMOFcix(FfcSQ+|)O^%x%1?c!7J5*M#zGJn}1xFLE1S zU@`uAiQBlCg@J*gRaBNGnQ^irv&iH*jF$wM85kIDu|dq!WGP~qT*oBO&&I&OPy~_z z6D*t8Fx_Vi0lDxc$SO_dA|9}=#Dap