1
Structure de données
ESTA, 01 Février 2017
Mohammed Khachan
1
Objectif
Connaître les structures de données élémentaires,
tableaux, listes chaînées, piles, files, arbres
Concevoir des structures de données et les algorithmes
qui les manipulent.
Il ne s'agit pas d'un cours de programmation de C.
2
2
Concept
Chaque COURS sera en partie :
de l'algorithmique (des structures de données)
de l'implantation dans un langage de programmation (C)
TD/TP sur machine
approfondir les structures de données et algorithmes du cours
alternance TD et TP d'application
Implémenter les exercices du TD
3
Plan
Algorithmique
Survol de l’architecture logicielle
Rappel
Récursivité (utilisation dans les arbres)
Structures (base des structures de données)
Tableaux statiques et dynamiques
Chaines de caractères
Allocation moire.
Listes chainées, piles, files.
Algorithmes de Tri et parcours.
Arbres.
Tables de hachage. 4
3
Partie I
Algorithmique
5
Algorithme
Al Khawarizmi, Bagdad IXè siècle.
Encyclopedia Universalis :
«Spécification d’un schéma de calcul sous forme
d’une suite finie d’opérations élémentaires obéissant
à un enchaînement déterminé. »
DONNÉES RÉSULTATS, ACTIONS
Composition d ’un nombre fini d’opérations dont chacune est :
• définie de façon rigoureuse et non ambiguë
• effective sur les données adéquates
(exécution en temps fini)
6
4
Différence entre problème et
instance du problème
Exemple d’un problème: Tri d’un ensemble d’éléments
Entrée: Suite de néléments a1,…an
Sortie: La suite ordonnée
Instances du problème:
Suite de nombres: 475, 787, 34, 245, 56, 350
Suite de noms: Pierre, Christine, Sylvie, Samuel, Fabien
7
Fonction: difference entre déclaration et definition
Une déclaration donne le nom et le type sans apporter d'autres
détails.
int sommeInt( int , int );
Une définition précise les détails de l'implementation ou
l'emplacement de la mémoire.
int sommeInt( int a, int b )
{
return ( a+b );
};
La Signature d'une fonction correspond a la partie de sa
déclaration qui précise les types de paramètres et le type de
retour. Le nom de la fonction ne fait pas partie de sa signature.
8
5
Fonction: difference entre paramètre et argument
int sommeInt( int a, int b);
aet bsont les paramètres de la fonction.
void main()
{
int x=5, y=7;
int res= 0;
res= sommeInt( x, y);
// xet ysont les arguments de la fonction
}
9
Subdivision d’un problème en sous-
problèmes (programmation modulaire)
Problème: Trouver le plus petit nombre
premier strictement supérieur à un entier
positif donné
Déterminer si un entier mest un nombre
premier.
Il suffit de tester si m est divisible par un entier
entre 2 et m/2
Utiliser cette fonction pour trouver le plus petit
nombre premier supérieur à un entier n.
10
1 / 12 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 !