{"id":140,"date":"2022-01-25T10:54:24","date_gmt":"2022-01-25T09:54:24","guid":{"rendered":"https:\/\/yb-isn.fr\/2021\/nsi\/carla\/?p=140"},"modified":"2022-01-25T11:51:30","modified_gmt":"2022-01-25T10:51:30","slug":"mardi-25-janv","status":"publish","type":"post","link":"http:\/\/yb-isn.fr\/2021\/nsi\/carla\/?p=140","title":{"rendered":"comprehension tri"},"content":{"rendered":"<p>duree&nbsp; d&rsquo;execution d&rsquo;un programme<\/p>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import random\nimport time\ndebut=time.time()\nt=[]\nfor i in range(100000):\n    t.append(random.randint(0,10))\nduree=time.time()-debut\nprint(duree)\n    \n&gt;&gt;&gt;&gt;0.15374755859375<\/pre>\n\n\n<p>nuage de points<\/p>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import matplotlib.pyplot as plt\nx=[i for i in range(10)]\ny=[-2*xval+10 for xval in x]\nplt.scatter(x,y)\nplt.show()<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"632\" height=\"553\" src=\"https:\/\/yb-isn.fr\/2021\/nsi\/carla\/wp-content\/uploads\/sites\/5\/2022\/01\/image-4.png\" alt=\"\" class=\"wp-image-141\" srcset=\"http:\/\/yb-isn.fr\/2021\/nsi\/carla\/wp-content\/uploads\/sites\/5\/2022\/01\/image-4.png 632w, http:\/\/yb-isn.fr\/2021\/nsi\/carla\/wp-content\/uploads\/sites\/5\/2022\/01\/image-4-300x263.png 300w\" sizes=\"(max-width: 632px) 100vw, 632px\" \/><\/figure>\n\n\n<p><strong>visualiser la duree de cr\u00e9ation d\u2019un tableau en fonction de sa longueur n<\/strong><\/p>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import matplotlib.pyplot as plt\nimport time\nimport random\ndef duree_tableau_alea2(n):\n    t=[]\n    debut=time.time()\n    for i in range(n):\n        t.append(random.randint(0,10))\n    duree=time.time()-debut\n    return duree\nx=[i*10**5 for i in range(10)]\ny2=[duree_tableau_alea2(val) for val in x]\nplt.scatter(x,y2)\nplt.show()<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"638\" height=\"547\" src=\"https:\/\/yb-isn.fr\/2021\/nsi\/carla\/wp-content\/uploads\/sites\/5\/2022\/01\/image-5.png\" alt=\"\" class=\"wp-image-142\" srcset=\"http:\/\/yb-isn.fr\/2021\/nsi\/carla\/wp-content\/uploads\/sites\/5\/2022\/01\/image-5.png 638w, http:\/\/yb-isn.fr\/2021\/nsi\/carla\/wp-content\/uploads\/sites\/5\/2022\/01\/image-5-300x257.png 300w\" sizes=\"(max-width: 638px) 100vw, 638px\" \/><\/figure>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#toute cette partie c'est de la mise en page, couleur et presentation.\n\nplt.scatter(x,y, color='coral', linestyle='solid', label='liste en compr\u00e9hension')\nplt.scatter(x,y1, color='navy', linestyle='solid', label='tableau numpy')\nplt.scatter(x,y2, color='green', linestyle='solid', label='liste avec append')\n\nax = plt.gca()\nax.spines['right'].set_color('none')\nax.spines['top'].set_color('none')\nax.xaxis.set_ticks_position('bottom')\nax.spines['bottom'].set_position(('data',0))\nax.yaxis.set_ticks_position('left')\nax.spines['left'].set_position(('data',0))\nplt.title('dur\u00e9e de c\u00e9ation d''un tableau de n valeurs al\u00e9atoires ',color=\"navy\", fontsize=12)\nax = ax.set(xlabel='n ', ylabel='dur\u00e9e (en s)')\nplt.legend(loc='center right');<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#partie d'import\n\nimport time\nimport matplotlib.pyplot as plt\nimport numpy as np\nimport random\n\n#definition des tableaux\n\ndef duree_tableau_alea(n):\n    debut=time.time()\n    t=[random.randint(0,10) for i in range(n)]\n    duree=time.time()-debut\n    return duree\ndef duree_tableau_alea1(n):\n    debut=time.time()\n    t=list(np.random.randint(10,size=n))\n    duree=time.time()-debut\n    return duree\ndef duree_tableau_alea2(n):\n    t=[]\n    debut=time.time()\n    for i in range(n):\n        t.append(random.randint(0,6))\n    duree=time.time()-debut\n    return duree\n#calculs et show\n\nx=[(i)*10**5 for i in range(5)]\ny=[duree_tableau_alea(val) for val in x]\ny1=[duree_tableau_alea1(val) for val in x]\ny2=[duree_tableau_alea2(val) for val in x]\nplt.show()<\/pre>\n\n\n<p>ici les resultats de la comparaison de tri:<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"639\" height=\"552\" src=\"https:\/\/yb-isn.fr\/2021\/nsi\/carla\/wp-content\/uploads\/sites\/5\/2022\/01\/image-6.png\" alt=\"\" class=\"wp-image-144\" srcset=\"http:\/\/yb-isn.fr\/2021\/nsi\/carla\/wp-content\/uploads\/sites\/5\/2022\/01\/image-6.png 639w, http:\/\/yb-isn.fr\/2021\/nsi\/carla\/wp-content\/uploads\/sites\/5\/2022\/01\/image-6-300x259.png 300w\" sizes=\"(max-width: 639px) 100vw, 639px\" \/><\/figure>\n\n\n<p>L&rsquo;ordinateur viens de tester 3 techniques de tri et a calcul\u00e9 leur temps d&rsquo;execution. On peut voir que le tri s\u00e9lection, code que nous avons cod\u00e9 et celui d&rsquo;insertion ont beaucoup plus de temps d&rsquo;execution que le tri sort qui est fait par python. Plus, il n&rsquo;augmente pas celon la grandeur des tableaux. Pour les grandes entreprises la methode sort est bien meilleure.<\/p>\n<p>Test avec des tableaux de 20<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"638\" height=\"551\" src=\"https:\/\/yb-isn.fr\/2021\/nsi\/carla\/wp-content\/uploads\/sites\/5\/2022\/01\/image-7.png\" alt=\"\" class=\"wp-image-147\" srcset=\"http:\/\/yb-isn.fr\/2021\/nsi\/carla\/wp-content\/uploads\/sites\/5\/2022\/01\/image-7.png 638w, http:\/\/yb-isn.fr\/2021\/nsi\/carla\/wp-content\/uploads\/sites\/5\/2022\/01\/image-7-300x259.png 300w\" sizes=\"(max-width: 638px) 100vw, 638px\" \/><\/figure>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#j'ai seulement modifi\u00e9 cette partie\ndef duree_tris(n):\n    t1=list(np.random.randint(20,size=n))\n    t2=t1.copy()\n    t3=t1.copy() \n    debut=time.time()\n    tri_selection(t1)\n    duree_selection=time.time()-debut\n    debut=time.time()\n    tri_insertion(t2)\n    duree_insertion=time.time()-debut\n    debut=time.time()\n    t3.sort()\n    duree_sort=time.time()-debut\n    return duree_selection,duree_insertion,duree_sort\nx=[(i)*5**3 for i in range(20)]\ny=[duree_tris(val) for val in x]\ny1=[y[i][0] for i in range(20)]\ny2=[y[i][1] for i in range(20)]\ny3=[y[i][2] for i in range(20)]<\/pre>\n\n\n<p>On voit que on a obtiens une echelle plus petite et donc plus precise. Le tri sort est la methode la plus rapide.<\/p>","protected":false},"excerpt":{"rendered":"<p>duree&nbsp; d&rsquo;execution d&rsquo;un programme nuage de points visualiser la duree de cr\u00e9ation d\u2019un tableau en fonction de sa longueur n ici les resultats de la comparaison de tri: L&rsquo;ordinateur viens de tester 3 techniques de tri et a calcul\u00e9 leur temps d&rsquo;execution. On peut voir que le tri s\u00e9lection, code que nous avons cod\u00e9 et&hellip; <a class=\"more-link\" href=\"http:\/\/yb-isn.fr\/2021\/nsi\/carla\/?p=140\">Poursuivre la lecture <span class=\"screen-reader-text\">comprehension tri<\/span><\/a><\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/carla\/index.php?rest_route=\/wp\/v2\/posts\/140"}],"collection":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/carla\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/carla\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/carla\/index.php?rest_route=\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/carla\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=140"}],"version-history":[{"count":7,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/carla\/index.php?rest_route=\/wp\/v2\/posts\/140\/revisions"}],"predecessor-version":[{"id":152,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/carla\/index.php?rest_route=\/wp\/v2\/posts\/140\/revisions\/152"}],"wp:attachment":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/carla\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/carla\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=140"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/carla\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}