0% ont trouvé ce document utile (0 vote)
42 vues2 pages

Cours Algorithmique Structures Complexite

Cours d'algorithmique, structures des données et complexité

Transféré par

samiratoubamogo077
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
42 vues2 pages

Cours Algorithmique Structures Complexite

Cours d'algorithmique, structures des données et complexité

Transféré par

samiratoubamogo077
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Cours : Algorithmique, Structures de Données et Complexité

Introduction
Ce document est un cours destiné à expliquer les bases de l'algorithmique, des structures de
données, et de la complexité de manière simple et compréhensible. Il s'adresse à toute
personne ayant des difficultés à comprendre ces concepts.

1. Qu'est-ce que l'algorithmique ?


L'algorithmique est l'étude des algorithmes. Un algorithme est une suite finie d'instructions
précises qui permettent de résoudre un problème. C'est comme une recette de cuisine :
chaque étape doit être suivie dans un ordre précis pour obtenir un résultat.

Exemple :

Imaginez que vous voulez calculer la somme de deux nombres, 5 et 3. Voici un algorithme
simple pour cela :
1. Lire le premier nombre (5).
2. Lire le deuxième nombre (3).
3. Ajouter les deux nombres.
4. Afficher le résultat (8).

2. Les structures de données


Les structures de données sont des façons d'organiser et de stocker les données pour
qu'elles puissent être utilisées efficacement. Elles sont essentielles pour résoudre les
problèmes rapidement.

Exemples de structures de données :

- **Tableaux (Arrays)** : Une liste de données où chaque élément a une position (indice).
Exemple : [10, 20, 30].
- **Listes chaînées** : Une série d'éléments connectés entre eux. Chaque élément pointe
vers le suivant.
- **Piles (Stacks)** : Une structure où le dernier élément ajouté est le premier à être retiré
(principe LIFO).
- **Files (Queues)** : Une structure où le premier élément ajouté est le premier à être retiré
(principe FIFO).

3. Qu'est-ce que la complexité ?


La complexité mesure l'efficacité d'un algorithme, c'est-à-dire combien de ressources
(comme le temps ou la mémoire) il consomme pour résoudre un problème. Il existe deux
types principaux de complexité :
- **Complexité temporelle** : Le temps qu'un algorithme met pour s'exécuter. On utilise
souvent la notation O (big-O) pour décrire cela, comme O(n), O(n^2), etc.
- **Complexité spatiale** : L'espace mémoire utilisé par l'algorithme.

4. Exemple simple d'algorithme


Imaginons que nous voulons vérifier si un nombre est pair ou impair. Voici un algorithme
simple :
1. Lire un nombre (par exemple, 7).
2. Diviser ce nombre par 2 et vérifier le reste.
3. Si le reste est 0, alors le nombre est pair. Sinon, il est impair.
4. Afficher le résultat.

En pseudocode :

Entrée : nombre
Si (nombre % 2 == 0) alors
Afficher 'Pair'
Sinon
Afficher 'Impair'

5. Résumé
Dans ce cours, nous avons vu :
- Ce qu'est un algorithme et à quoi il sert.
- Les structures de données de base comme les tableaux, les listes chaînées, les piles et les
files.
- La complexité, qui mesure l'efficacité des algorithmes.
- Un exemple d'algorithme simple pour vérifier si un nombre est pair ou impair.

Avec ces bases, vous êtes prêt(e) à explorer des concepts plus avancés en algorithmique et
structures de données.

Vous aimerez peut-être aussi