Si vous souhaitez un programme de formation sur-mesure sur cette thématique, merci de nous interroger
 
Programme :
- Rappels:
- Rappel sur les différentes structures de données
- Les files et les piles (FIFO/LIFO)
 
- Les listes linéaires chaînées
 
- Les arbres et graphes
 
- Les tableaux indicés
 
- Les tableaux associatifs
 
 
- Calculer la complexité d'un algorithme
- Qu'est-ce que la complexité d'un algorithme ?
 
- Complexité temporelle et spatiale
 
- Notations
 
- Exemples de calculs de complexité
 
 
 
- La récursivité:
- Comprendre le concept des fonctions récursives
- Qu'est-ce qu'une fonction récursive
 
- Premier exemple : compte à rebours
 
- Avantages et inconvénients des fonctions récursives
 
- Exemples d'applications : les suites numériques incontournables (factorielle et Fibonacci), le parcours d'arbres, les analyseurs syntaxiques, la recherche de solutions, les fractales
 
- Mesurer le coût d'une fonction récursive
 
- Utiliser le cache pour diminuer la récursivité et améliorer les performances
 
 
- Mise en pratique
- La tour de Hanoi
 
- Créer un analyseur syntaxique
 
- Dessiner une fractale
 
- Calculer une suite numérique
 
- Résoudre le problème du jeu «le compte est bon»
 
- Parcours d'arbre
 
- Parcourir un labyrinthe
 
 
 
- Tris et recherche
- Algorithmes de tris et de recherche
- Recherche séquentielle
 
- Recherche binaire
 
- Recherches avec une table de hachage
 
- Les principaux algorithmes de tris : Tri à bulles, tri sélectif, tri par insertion, tri de shell, tri par fusion, tri rapide (quick sort)
 
- Etude de la complexité en temps et mémoire des différentes solutions
 
 
- Mise en pratique
- Recherche de valeurs dans une liste
 
- Recherche de valeurs dans une liste triée
 
- Intersection de listes avec les tables de hachage
 
- Implémentation et mesure des différents algorithmes de tris
 
 
 
- Les arbres
- Les arbres
- Qu'est-ce qu'un arbre ?
 
- Terminologie associée aux arbres
 
- Les arbres binaires
 
- Comment représenter un arbre ?
 
- Comment parcourir un arbre ? Parcours infixé, préfixé, postfixé
 
- Recherche dans un arbre
 
 
- Exercices pratiques
- Parcours en largeur et profondeur d'un arbre généalogique
 
- Créer un arbre de décision
 
- Implémenter une recherche binaire
 
- Insertion et suppression d'éléments dans un arbre
 
- Réaliser un interpréteur
 
 
 
- Les graphes
- Les graphes
- Qu'est-ce qu'un graphe ?
 
- Terminologie associée aux graphes
 
- Comment représenter un graphe ?
 
- Recherche dans un graphe
 
- Parcours de graphes
 
- Modifier un graphe
 
- Principaux problèmes traités avec les graphes : existe-t-il un chemin, plus court/long chemin, l'algorithme du voyageur de commerce, coloration d'un graphe...
 
 
- Exercices pratiques
- Recherche du plus court chemin avec l'algorithme de Dijkstra
 
- Algorithme du voyageur de commerce
 
- Parcours en largeur et profondeur (BFS/DFS)
 
- Jeux algorithmiques utilisant des graphes (NIM, Col, Gendarme et voleur...)