Rayan ESSAIDI

Compétence : Optimiser

Appréhender et construire des algorithmes, choisir des structures de données adaptées pour résoudre des problèmes.

Développement de la compétence

L'optimisation et l'algorithmique sont au cœur de la formation. Elle repose sur une compréhension approfondie de l'analyse de complexité algorithmique. J'ai appris à évaluer l'efficacité d'un code non seulement par sa justesse fonctionnelle, mais aussi par sa consommation de ressources temporelles et spatiales. Cette démarche m'a conduit à sélectionner rigoureusement les structures de données les plus adaptées — qu'il s'agisse de listes, d'arbres ou de tables de hachage — en fonction des opérations dominantes du programme. En anticipant la montée en charge des données, je m'assure que les solutions logicielles restent performantes et scalables, répondant ainsi aux exigences de qualité logicielle du BUT Informatique.

Au-delà de la théorie, j'ai été confronté à des défis algorithmiques concrets, notamment lors de la résolution de problèmes de recherche de chemin ou de traitement de volumes massifs d'informations. Ces situations m'ont imposé de sortir des solutions naïves pour explorer des approches plus sophistiquées, comme la programmation dynamique ou les algorithmes gloutons. Ces défis ont été l'occasion d'une réflexion critique sur le compromis nécessaire entre la simplicité du code et son optimisation maximale.

Retour aux compétences