Portfolio – Algorithmique et Complexité

Nom : DAGOU ESLI JOED

Classe : Master 1 Cybersécurité & IoT

Leçon 1 – Complexité algorithmique

Journal d’apprentissage

Cette semaine j’ai appris ce qu’est un algorithme et comment mesurer son efficacité. J’ai découvert la notation Big O qui permet d’exprimer la complexité d’un algorithme. Au début j’avais du mal à comprendre comment comparer les différentes complexités, mais les exercices m’ont aidé à mieux comprendre.

Synthèse des concepts

La complexité algorithmique permet de mesurer le temps ou l’espace nécessaire pour exécuter un algorithme. La notation Big O permet d’exprimer cette complexité en fonction de la taille des données.

Application pratique

Dans un programme informatique, choisir un algorithme efficace permet de réduire le temps d’exécution lorsque la quantité de données augmente.

Auto-évaluation

Ce que je maîtrise bien : notion de complexité.
Ce que je dois améliorer : analyse détaillée d’algorithmes.
Stratégie : pratiquer plus d’exercices.

Leçon 2 – Algorithmes de tri

Journal d’apprentissage

Cette semaine j’ai étudié plusieurs algorithmes de tri comme le tri par sélection et le tri par insertion. J’ai compris que ces algorithmes permettent de classer les données dans un certain ordre.

Synthèse

Les algorithmes de tri permettent d’organiser les données dans un ordre donné. Chaque algorithme possède une complexité différente.

Application

Dans un système de gestion d’étudiants, les algorithmes de tri peuvent être utilisés pour classer les étudiants par nom ou par numéro.

Auto-évaluation

Maîtrise : principe des algorithmes de tri.
Amélioration : comparaison des performances.
Stratégie : pratiquer les exercices.

Leçon 3 – Listes chaînées

Journal

J’ai appris le fonctionnement des listes chaînées et leur différence avec les tableaux. Les listes permettent de gérer les données de manière dynamique.

Synthèse

Une liste chaînée est une structure composée de nœuds reliés par des pointeurs. Chaque nœud contient une donnée et l’adresse du suivant.

Application

Les listes chaînées peuvent être utilisées pour gérer des collections de données qui changent souvent.

Auto-évaluation

Maîtrise : principe des listes.
Amélioration : manipulation des pointeurs.
Stratégie : coder des exercices.

Leçon 4 – Arbres

Journal

Cette semaine j’ai étudié les arbres binaires et leur structure hiérarchique.

Synthèse

Un arbre est une structure composée de nœuds reliés de manière hiérarchique. Chaque nœud peut avoir des enfants.

Application

Les arbres peuvent être utilisés dans les systèmes de recherche de données.

Auto-évaluation

Maîtrise : structure des arbres.
Amélioration : parcours des arbres.
Stratégie : refaire les exercices.

Leçon 5 – Tables de hachage

Journal

J’ai découvert les tables de hachage qui permettent de retrouver rapidement des informations grâce à une fonction de hachage.

Synthèse

Une table de hachage associe une clé à une valeur grâce à une fonction de hachage.

Application

Les tables de hachage peuvent être utilisées pour rechercher rapidement un utilisateur dans une base de données.

Auto-évaluation

Maîtrise : principe du hachage.
Amélioration : collisions.
Stratégie : revoir les exemples.

Leçon 6 – Graphes

Journal

Cette semaine j’ai appris ce qu’est un graphe et comment représenter des relations entre différents éléments.

Synthèse

Un graphe est composé de sommets reliés par des arêtes.

Application

Les graphes peuvent représenter des réseaux informatiques ou des réseaux sociaux.

Auto-évaluation

Maîtrise : définition des graphes.
Amélioration : algorithmes de parcours.
Stratégie : pratiquer.