Au pays des algorithmes

La base de tout programme effectuant une tâche un tant soit peu complexe est un algorithme, une méthode permettant de manipuler des données pour obtenir un résultat attendu. Dans cette liste, vous pourrez découvrir quelques spécimens d'algorithmes.
Domaine : IA / Big Data / Code / Algo / Web Spécialités : Code
Nombre d'articles :
11 article(s)
Type de liste de lecture
Parcours pédagogiques
Niveau :
Débutant
Tags :
Java Python

Les structures linéaires

Magazine
Marque
GNU/Linux Magazine
Numéro
172
Mois de parution
juin 2014
Spécialité(s)
Résumé

Nous stockons toujours des données dans des variables. Celles-ci sont plus ou moins complexes et peuvent prendre la forme de tableaux, listes ou piles. Il n'est pas inintéressant de revoir les structures disponibles, comment les construire et les utiliser.

Le jeu de la vie de Conway : implémentation et petites adaptations

Magazine
Marque
GNU/Linux Magazine
Numéro
205
Mois de parution
juin 2017
Spécialité(s)
Résumé

Le jeu de la vie est un des grands classiques de l'algorithmie. Dans cet article, je vous propose de redécouvrir cet algorithme, basé sur les automates cellulaires et de l'implémenter en Python avant de créer des automates capables de réaliser des tâches pratiques.

Algorithmes de tri et impacts des choix d'implémentation sur les performances

Magazine
Marque
GNU/Linux Magazine
Numéro
176
Mois de parution
novembre 2014
Spécialité(s)
Résumé

Les algorithmes de tri font partie des grands classiques de l'informatique. Vous avez tous dû aborder à un moment ou à un autre au moins l'un de ces algorithmes. Je vous propose de voir ou revoir certains d'entre eux sous un angle un peu original, en étudiant les effets que vont avoir les langages que vous allez choisir et la manière dont vous allez les coder.

Petite introduction à la classification

Magazine
Marque
GNU/Linux Magazine
Numéro
179
Mois de parution
février 2015
Spécialité(s)
Résumé

Lorsque l'on étudie des données, il est courant de devoir regrouper les éléments par grandes catégories. La première étape peut être d'utiliser une structuration sous forme de graphe, mais cela n'est pas toujours suffisant. Il faut alors passer à une seconde étape et créer des classes d'éléments à l'intérieur du graphe.

La compression dans tous ses états

Magazine
Marque
GNU/Linux Magazine
Numéro
181
Mois de parution
avril 2015
Spécialité(s)
Résumé

Nous utilisons tous les jours des données compressées. Gzip, JPEG, PNG et autres PDF sont autant de formats de fichiers intégrant une compression. Il est devenu naturel de travailler avec de tels fichiers... mais vous êtes-vous déjà demandé comment les données initiales pouvaient tenir dans si peu de place ?

Les secrets des algorithmes à haute fréquence en Java (et autre)

Magazine
Marque
GNU/Linux Magazine
Numéro
184
Mois de parution
juillet 2015
Spécialité(s)
Résumé

Les articles du mois dernier faisant du teasing pour révéler les secrets des algorithmes à haute fréquence, les voici enfin ! Nous illustrons nos propos à l'aide d'extrait de code de la JVM. Vous trouverez les liens vers les sources originaux pour creuser un peu plus les algorithmes si le cœur vous en dit.

À la découverte des Arbres Binaires à Commande Équilibrée

Magazine
Marque
GNU/Linux Magazine
Numéro
215
Mois de parution
mai 2018
Spécialité(s)
Résumé

Dans cet article un peu théorique, nous allons jouer avec la métaphore des aiguillages. Vous pensiez peut-être que concevoir une gare de triage est un jeu d'enfant, mais quand des contraintes (fictives ? réelles ?) s'en mêlent, il faut se gratter un peu la tête et faire appel à des permutations astucieuses... C'est ainsi qu'apparaissent les ABCE, ou Arbres Binaires à Commande Équilibrée, une technique inhabituelle qui trouve sa place, entre autres, dans des circuits électroniques numériques.

Quelques applications des Arbres Binaires à Commande Équilibrée

Magazine
Marque
GNU/Linux Magazine
Numéro
218
Mois de parution
septembre 2018
Spécialité(s)
Résumé

Les Arbres Binaires à Commande Équilibrée, ou ABCE, ont été présentés dans GLMF n°215 [1] au moyen d'une métaphore ferroviaire. Cependant, ils sont surtout utiles dans certains circuits numériques, dont ils améliorent la vitesse et la consommation, pour la plupart des technologies. Par rapport à un arbre binaire classique, le gain de performance augmente avec la taille, ce qui est un atout précieux pour concevoir des circuits intégrés par exemple.