Académique Documents
Professionnel Documents
Culture Documents
: Un peu de structure
Rôles :
- Gestionnaire : Adrien
- Animateur : Emre
- Scribe : Jocelin
- Secrétaire : Youssef
- Algorithme
- Moyenne glissante
- Pointeur
- Tronqué
- Variable statique
- Notion de complexité
- Structure
1.2) Contexte :
L’équipe MMH ont réalisé un algorithme de gestion de données, cependant il y’a des points à
éclaircir notamment sur la notion de complexité du programme, la mémoire et l’optimisation
2) Analyse des besoins :
2.1) Problèmes :
- Comment résoudre le problème de complexité en utilisant les structures à la place des
tableaux ?
- Comment améliorer la performance ?
- Trouver de solutions pour changer les tableaux.
2.2) Contraintes :
- Limitation de calcul
- Utiliser les différentes fonctions données
2.3) Livrable :
- Un algorithme
- Evaluer la complexité des algorithmes
3) Généralisation :
- Complexité d’un algorithme
4) Pistes de solutions :
- Factoriser le programme.
- Nous passerons d’une complexité exponentielle à logarithmique.
- Utiliser les pointeurs.
- Changer les tableaux en structure va nous permettre d’optimiser la mémoire.
- Nos deux fonctions vont pouvoir être mieux factorisé.
- On obtiendra des nombres aussi grands qu’avant, on utilisera donc moins d’espace.
2) Corbeille d’exercices :
3) Workshop :
a. Pointeurs
b. Complexité
c. Structure et tableaux
d. Représentation de l’information
9) Conclusion :
Définir les mots clés :
1) Complexité temporelle :
L’objectif d’un calcul de complexité algorithmique temporelle est de pouvoir comparer l’efficacité
d’algorithmes résolvant le même problème. Dans une situation donnée, cela permet donc d’établir lequel
des algorithmes disponibles est le plus optimal.
Puisqu’il s’agit seulement de comparer des algorithmes, les règles de ce calcul doivent être
indépendantes :
Par soucis de simplicité, on fera l’hypothèse que toutes les opérations élémentaires sont à égalité de
coût, soit 1 « unité » de temps.
La complexité en temps d’un algorithme sera exprimée par une fonction, notée T (pour Time), qui
dépend :
De la taille des données passées en paramètres : plus ces données seront volumineuses, plus
il faudra d’opérations élémentaires pour les traiter.
On notera n le nombre de données à traiter.
De la donnée en elle-même, de la façon dont sont réparties les différentes valeurs qui la
constituent.
Les pointures :
Comment afficher l’adresse d’une variable
désigne l'adresse de la variable.
Créer un pointeur :
Pour initialiser un pointeur et lui donner une valeur par défaut on utilise le mot-clé
NULL
Egalité 1
Boucle for (indice_max_Tableau)
Affectation (1)
Affectation (1)
Retour (1)