<?xml version="1.0" encoding="UTF-8"?>

<upm-export>
	<title>Enseignement de l&#039;informatique et du numérique au lycée Boissy d&#039;Anglas</title>
	<link>https://icn-isn-boissy.yj.fr/wp</link>
	<description></description>
	<pubDate>Wed May 6 11:50:42 2026 / +0000  GMT</pubDate>
	<generator>Universal Post Manager 1.1.2 [ www.ProfProjects.com ] </generator>
	<language></language>
	
			<item>
			<title>Algorithmes de tri</title>
			<link>https://icn-isn-boissy.yj.fr/wp/?p=1525</link>
			<pubDate>Wed May 6 11:50:42 2026 / +0000  GMT</pubDate>
			<guid isPermaLink="false">https://icn-isn-boissy.yj.fr/wp/?p=1525</guid>
			<content-encoded><![CDATA[<!-- wp:heading {"level":4} -->
<h4>Référence au programme de NSI</h4>
<!-- /wp:heading -->

<!-- wp:image {"id":1641} -->
<figure class="wp-block-image"><img src="https://icn-isn-boissy.yj.fr/wp/wp-content/uploads/2019/07/image.png" alt="" class="wp-image-1641"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>On veut trier une liste lorsqu'on pense que ses éléments sont dans le désordre, ou plus précisément dans un ordre qui ne nous convient pas. L'objectif du tri, en tant qu'algorithme, est de mettre les éléments dans le bon ordre.  Par exemple sur <a href="https://fr.wikipedia.org/wiki/Strava">STRAVA</a> qui est un site et une application mobile pour enregistrer les activités sportives, l'utilisateur peut classer ses activités par années, semaines, distances parcourues, temps sur certains parcours mythiques (segment) . </p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1526} -->
<figure class="wp-block-image"><img src="https://icn-isn-boissy.yj.fr/wp/wp-content/uploads/2019/06/strava1.png" alt="" class="wp-image-1526"/></figure>
<!-- /wp:image -->

<!-- wp:image {"id":1527,"width":795,"height":708} -->
<figure class="wp-block-image is-resized"><img src="https://icn-isn-boissy.yj.fr/wp/wp-content/uploads/2019/06/strava2.png" alt="" class="wp-image-1527" width="795" height="708"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Sur ce tableau le classement est réalisé sur le temps d'ascension, par ordre croissant.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous allons étudier 2 algorithmes de tri : </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p> <em>(cliquez pour ouvrir les articles)</em></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>le <a href="https://icn-isn-boissy.yj.fr/wp/2019/06/19/tri-par-selection/"><strong>tri par sélection</strong></a> et le <a href="https://icn-isn-boissy.yj.fr/wp/2019/06/19/tri-par-insertion/"><strong>tri par insertion</strong></a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Nous avons calculer le nombre comparaison que faisait les algorithmes dans le tri par insertion et sélection, On parle de complexité . La complexité d'un tri de «&nbsp;n&nbsp;» éléments se note avec un  «&nbsp;omicron&nbsp;»&nbsp;: dites «&nbsp;grand O&nbsp;». Par exemple, la complexité du «&nbsp;tri par  sélection&nbsp;» sera en «&nbsp;O(n*(n-1)&nbsp;/2&nbsp;)&nbsp;», où «&nbsp;n*(n-1)&nbsp;/2&nbsp;» est la  formule qu'on avait utilisée un peu plus tôt. Comme on s'intéresse à des  valeurs importantes et qu'on ne veut qu'un «&nbsp;ordre de grandeur&nbsp;», on  considérera que cette «&nbsp;complexité&nbsp;» peut se «&nbsp;simplifier&nbsp;» en  «&nbsp;O(n*(n-1))&nbsp;», qui peut elle-même se simplifier en «&nbsp;O(n²)&nbsp;». On dira  que l'algorithme du «&nbsp;tri par sélection&nbsp;» est de «&nbsp;complexité  quadratique&nbsp;» en «&nbsp;O(n²)&nbsp;».</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Pour notre classement il y a 80 000 valeurs à trier voici un tableau résumant le nombre d'opération et une estimation du temps en supposant qu'une opération dure 1 ms.</p>
<!-- /wp:paragraph -->

<!-- wp:table -->
<figure class="wp-block-table"><table><tbody><tr><td><strong>Nombre d'éléments «&nbsp;n&nbsp;»</strong></td><td><strong>Nombre d'opérations pour un tri en «&nbsp;O(n²)&nbsp;»</strong></td><td><strong>Durée pour un tri en «&nbsp;O(n²)&nbsp;»</strong></td></tr><tr><td><strong>10</strong></td><td>100</td><td>100 ns</td></tr><tr><td><strong>100</strong></td><td>10 000</td><td>10 us</td></tr><tr><td><strong>1 000</strong></td><td>1 000 000</td><td>1 ms</td></tr><tr><td><strong>10 000</strong></td><td>100 000 000</td><td>100 ms</td></tr><tr><td><strong>100 000</strong></td><td>10 000 000 000</td><td>10 s</td></tr><tr><td><strong>1 000 000</strong></td><td>1&nbsp;000&nbsp;000&nbsp;000 000</td><td>16 min 40 s</td></tr><tr><td><strong>10 000 000</strong></td><td>100 000 000 000 000</td><td>27 heures</td></tr><tr><td><strong>100 000 000</strong></td><td>10 000 000 000 000 000</td><td>115 jours</td></tr><tr><td><strong>1 000 000 000</strong></td><td>1 000 000 000 000 000 000</td><td>31 ans</td></tr></tbody></table></figure>
<!-- /wp:table -->

<!-- wp:paragraph -->
<p>Il y a 1.2 millions d'utilisateur de Strava , 3.4 milliard d'utilisateur de Facebook . Les données à trier ne manquent pas....Et le temps de les trier elles seront peut être obsolètes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Comment faire ? Il existe des algorithmes de tri plus performant: Tri à bulles , Tri rapide , ....</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong><em>A faire:</em></strong> </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Essai évaluation par le temps d'exécution du programme de tri:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Estimation de complexité par le temps d'exécution (approximation car le temps d'exécution d'un algorithme est aussi lié à d'autres paramètres... )</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>En ouvrant et exécutant le programme  de tri :</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>tris-avec_evaluation-temps-execution_programme.py </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>  à télécharger en fin d'article.</p>
<!-- /wp:paragraph -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted"> extrait du programme

# tri rapide avec affichage du temps passé
 debut_chrono=time.time() # lancement chrono
 trirapide(L) # lancement du tri
 temps_exe=time.time()-debut_chrono #arret chrono et calcul du temps 
 print("nombre de valeur =",len(L)) # affichage nb valeurs
 print("temps execution tri rapide =",temps_exe) # affichage crhono
</pre>
<!-- /wp:preformatted -->

<!-- wp:paragraph -->
<p>Essayer de lancer ce programme en testant une liste aléatoire de 10, 100 , 1000, 10000 valeurs, faire un classement des tris.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Maintenant au lieu de trier une liste aléatoire, trions une liste déjà triée.  Refaites votre classement .</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Quelles conclusions tirez vous de vouloir classer la complexité d'un algorithme par son temps d'exécution? </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>(Rappel les deux algorithme fusion et insertion ont la même complexité)</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong><em>Mini projet:</em></strong>  </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Amélioration , Il vaudrait mieux compter le nombre d'opération de comparaison dans l'algorithme de tri. Proposer une solution de compteur dans le programme de tri de votre choix</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>vous trouverez ici tous les fichiers à télécharger.</p>
<!-- /wp:paragraph -->

<!-- wp:file {"id":3303,"href":"https://icn-isn-boissy.yj.fr/wp/wp-content/uploads/2021/04/tris-avec_evaluation_temps_execution_programme.7z"} -->
<div class="wp-block-file"><a href="https://icn-isn-boissy.yj.fr/wp/wp-content/uploads/2021/04/tris-avec_evaluation_temps_execution_programme.7z">tris-avec_evaluation_temps</a><a href="https://icn-isn-boissy.yj.fr/wp/wp-content/uploads/2021/04/tris-avec_evaluation_temps_execution_programme.7z" class="wp-block-file__button" download>Télécharger</a></div>
<!-- /wp:file -->

<!-- wp:image {"align":"right","id":1665,"width":100,"height":35} -->
<div class="wp-block-image"><figure class="alignright is-resized"><img src="https://icn-isn-boissy.yj.fr/wp/wp-content/uploads/2019/07/by-nc-sa.eu_.png" alt="" class="wp-image-1665" width="100" height="35"/></figure></div>
<!-- /wp:image -->]]></content-encoded>
			<excerpt-encoded><![CDATA[]]></excerpt-encoded>
			<wp-post_id>1525</wp-post_id>
			<wp-post_date>2019-06-19 10:08:35</wp-post_date>
			<wp-post_date_gmt>2019-06-19 08:08:35</wp-post_date_gmt>
				</item>
</upm-export>
