Introduction à l’algorithmique
Hélène Collavizza
helen@polytech.unice.fr
http://www.polytech.unice.fr/~helen/LPSIL
Marc Gaetano
gaetano@polytech.unice.fr
LPSIL
Année 2006-2007
Introduction I.2
Objectifs
Quels sont les critères pour caractériser un « bon algorithme »
Notions élémentaires de complexité algorithmique
Récursivité
Algorithmes de base sur les listes
Algorithmes de base sur les arbres
Algorithmes de base sur les graphes
Introduction I.3
Exemple 1 : Recherche d’un élément dans une séquence
Données : une séquence de n entiers distincts e0, e1, …., en-1
un entier x
Résultat : -1 si x n’est pas dans la séquence e0,…., en-1
j si x = ej
Recherche de 6 dans {3, 10, 4, 1, 6, 3} 4
Recherche de 31 dans {3, 10, 4, 1, 6, 3} -1
Principe de l’algorithme : parcourir la séquence en comparant x à e0 puis
à e1, puis à e2, ….
Si l’on trouve un i tel que ei=x, le résultat est i,
Si l’on parcourt les ei jusqu’à i=n, le résultat est -1
Introduction I.4
Traduction en Java :
public class TableauEntier {
/** méthode pour rechercher l'indice d'un élément
** dans un tableau */
public static int recherche(int[] tab, int x) {
int i=0;
while(i<tab.length && x!=tab[i])
i++;
if (i==tab.length) return -1;
else return i;
}
Introduction I.5
Question 1 : l’algorithme est-il correct ?
Question 2 : l’algorithme termine-t-il ?
Question 3 : quelle est la place utilisée en mémoire ?
Question 4 : quel est le temps d’exécution ?
1 / 20 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !