Table des matières
Exercices pythonistiques
Les corrigés sont disponibles là : https://forge.centrale-marseille.fr/projects/algorithmie_corrigf/files
J'aimerai tant voir Syracuse
On vous demande de vérifier expérimentalement la conjecture de Syracuse pour les 1337 premiers nombres.
Boucles et Conditions
Nous allons faire un algorithme qui permet de rechercher une chaîne de caractères dans une chaîne plus grande. Il existe de nombreuses façon de procéder, dont certaines très belles. Implémentez l'algorithme naïf. Votre algorithme doit répondre vrai si le premier paramètre est une sous-chaine de son second paramètre, et faux sinon.
Petites récréations mathématiques
Le projet euler propose toute une série de petits problèmes mathématiques que 'on peut résoudre algorithmiquement. Cela peut être un bon moyen de s'entrainer si l'on est pas allergique à ce genre de problèmes.
Récursion et objets
Réaliser une fonction récursif qui résout le problème des tours de Hanoï. Cette fonction prendra en paramètre 3 listes correspondants aux tours de départ, d'arrivée et intermédiaire et un nombre correspondant au nombre de segment de tour à déplacer.
Utilisation de modules
Ici, on considère que vous savez vous débrouiller. On va donc vous laisser googler.
On vous demande de tester les performances d'un algorithme de tri particulier, le tri par sélection.
- implémentez le tri par insertion (une fonction prenant comme paramètre une liste qui sera triée).
- affichez (avec
matplotlib
) le temps mis pour trier des tableaux aléatoire de tailles différentes (un tableau de taille n contenant tous les nombres de 0 à n-1 dans un ordre aléatoire par exemple). En abscisse la taille de la liste et en ordonnée le temps mis à les trier (on pourra utiliser le moduledatetime
).
Rédacteurs
- Augustin Agbo-Kpati