More than Just Lines on a Map: Best Practices for U.S Bike Routes
Cours Algo 1 Resume
1. Cours d’Algorithmique Marc Gengler [email_address] Alexandra Bac - Henry Kanoui - Alain Samuel 24h de cours 24h de TD des devoirs un projet … et un examen
2.
3.
4.
5. Al Khwarizmi 16 + X^2 + 8 * X = 33 + 16 X^2 2 * X 4 ( X + 4 )^2 = 7^2
6.
7.
8. Les tris sur tableaux ----------------------------------------------------------------- Situation initiale Valeurs 0 1 2 3 … n-1 Pas de relation entre les indices et les valeurs !
9. Les tris sur tableaux ----------------------------------------------------------------- Situation finale Valeurs 0 1 2 3 … n-1 Une relation claire entre les indices et les valeurs !
10. Les tris sur tableaux ----------------------------------------------------------------- Tri par échange --- situation intermédiaire Valeurs 0 1 2 3 … n-1 Triées Non triées et plus grandes i-1
11.
12. Les tris sur tableaux ----------------------------------------------------------------- Tri par échange --- situation intermédiaire Valeurs 0 1 2 3 … n-1 Triées Non triées et plus grandes i j <- échange ->
13. Les tris sur tableaux ----------------------------------------------------------------- Tri par échange --- situation intermédiaire Valeurs 0 1 2 3 … n-1 Triées Non triées et plus grandes i j
14.
15. Les tris sur tableaux ----------------------------------------------------------------- Tri par échange --- le code for ( i=0 ; i<n-1 ; i++ ) {ind_min = i; for ( j=i+1 ; j<n ; j++ ) if ( t[j] < t[ind_min] ) ind_min = j; aux = t[i]; t[i] = t[ind_min]; t[ind_min] = aux; }
16.
17. Les tris sur tableaux ----------------------------------------------------------------- Tri par insertion --- situation intermédiaire Valeurs 0 1 2 3 … n-1 Triées Non triées et quelconques i-1
18.
19. Les tris sur tableaux ----------------------------------------------------------------- Tri par insertion --- situation intermédiaire Valeurs 0 1 2 3 … n-1 Triées i-1 Plus grande : Rien à faire ! Non triées et quelconques
20. Les tris sur tableaux ----------------------------------------------------------------- Tri par insertion --- situation intermédiaire Valeurs 0 1 2 3 … n-1 Triées i-1 Non triées et quelconques Plus petit : L’insérer à gauche.
21.
22. Les tris sur tableaux ----------------------------------------------------------------- Tri par insertion --- le code for ( i=1 ; i<n ; i++ ) {cont = 1; j = i; while ( j>0 && cont ) {if ( t[j] < t[j-1] ) echange(t, j-1, j); else cont = 0; j--; } }
23.
24. Les tris sur tableaux ----------------------------------------------------------------- Tri bulle Valeurs 0 1 2 3 … n-1 Situation normale Situation anormale : Une bulle
25. Les tris sur tableaux ----------------------------------------------------------------- Tri bulle : on échange l’ordre dans la bulle Valeurs 0 1 2 3 … n-1 Situation normale La bulle a disparu par échange
26. Les tris sur tableaux ----------------------------------------------------------------- Tri bulle : évolution des bulles Valeurs 0 1 2 3 … n-1 Régions qui peuvent être ignorées lors du prochain passage.
27.
28.
29.
30.
31. Les tris sur tableaux ----------------------------------------------------------------- Principe du tri par fusion Tri récursif des deux moitiés. Fusion des deux suites.
32.
33.
34.
35. Recherche dans des tableaux triés ----------------------------------------------------------------- d = 0; f = n-1; While ( d < f ) if ( d == f-1 ) if ( x == t[d] ) f = d; else d = f; else {m = (d+f)/2; if ( x < t[m] ) f = m-1; else d = m; } Return ( x == t[d] ); Résultat. Cas général. Intervalle de 2 éléments. Initialisation.