Quiz : Arbre binaire – Parcours en profondeur postfixe

Dans ce billet, nous allons étudier un algorithme clés utilisé pour lire le contenu d’un arbre binaire ; le parcours en profondeur postfixe (ou en anglais DFS pour Depth-First Search post order).

Arbre binaire ?

Un arbre binaire est une structure de données utilisée dans certains algorithmes pour stocker des données. Dans un arbre binaire, chaque nœud peut avoir jusqu’à deux enfants.

Que savez-vous sur le parcours en profondeur postfixe dans  les arbres binaires ?

3 questions pour faire le point sur cette algorithme ?

Pour aller plus loin

Pour approfondir vos connaissances, et développer vos compétences, je vous propose cette sélection de livre.

Comment déterminer le nombre de machines dans un réseau ?

Pour calculer le nombre de machines (hôtes) dans un sous-réseau, vous avez besoin de connaître l’adresse IP et le masque de sous-réseau.

Présentation de l’application IP Calc

“IP Calc” est une application permet une multitude de calcul sur les adresse IP v4.

IP CalcJ’ai testé la version gratuite 1.05. Pour l’installer sur votre Smartphone ou sur votre tablette, vous avez besoin de la version Android 2.0 ou une version ultérieure. Vous pouvez télécharger l’application en cliquant à l’adresse suivante: IP Calc

L’application Android ” IP Calc ” est gratuite et comme toute application de ce genre, vous recevrez de temps en temps de la publicité, mais elle ne gêne en rien son utilisation.

L’application est en langue anglaise, mais ne nécessite aucun niveau particulier. Un simple niveau en anglais de fin de collège ou de début du lycée permet non seulement d’utiliser l’application.

Les fonctions de l’application

Cette application peut vous être très utile dans votre tablette ou smartphone Android pour vérifier vos calculs sur les réseaux informatiques. a partir de l’adresse IP et du masque de  sous réseaux, vous obtenez immédiatement les résultat suivants:

  • La plage d’adresse en décimal de votre adresse IP;
  • L’adresse IP en hexadécimal;
  • Le nombre de bits du masque de sous réseau, c’est à dire le masque de sous réseau au format CDIR (Agrégation des adresses);
  • la carte binaire symbolique (IP Binary);
  • l’adresse réseau de votre machine (Subnet ID);
  • L’adresse de diffusion (Brodcast Adress);
  • La plage d’adresse (Adress Range);
  • Le nombre de machine connectables au réseau ou sous-réseau (n host).

Exemple d’utilisation

Pour présenter les fonctionnalités de l’application ” IP Calc “, je vais illustrer son potentiel à l’aide d’un exemple.

Prenons le cas d’une machine connectée à une réseau à l’adresse IP suivante: 192.168.0.10 \ 255.255.255.0

réseau machine hote

La machine est connecté sur une réseau de classe C. L’adresse réseau est 192.168.0.0 . L’adresse de diffusion quant à elle, est 192.168.0.255.

Sur ce réseau, on peut connecter 254 machines (n hosts) avec une plage d’adresses allant de 192.168.0.1 à 192.168.0.255.

Pour aller plus loin

Pour approfondir vos connaissances, et développer vos compétences, je vous propose cette sélection de livre.

La récursivité expliquée avec une image GIF – 6/6

Un programme est dit récursif lorsqu’une entité s’appelle elle-même. Un programme est appelé itératif lorsqu’il y a une boucle (ou répétition).

Une figure fractale ou fractale est une courbe ou surface de forme irrégulière ou morcelée qui se crée en suivant des règles déterministes ou stochastiques impliquant une homothétie interne. Le terme « fractale » est un néologisme créé par Benoît Mandelbrot en 1974 à partir de la racine latine fractus, qui signifie brisé, irrégulier .

Un des plus beaux exemples de fractale donné par la nature est le chou Romanesco.

Les fractales sont très utilisées pour générer des paysages virtuels.

Exemple : Un arbre

Pour aller plus loin

Pour approfondir vos connaissances, et développer vos compétences, je vous propose cette sélection de livre.

Comment visualiser l’algorithme de tri rapide ?

Le tri est un problème très classique de réorganisation des données (qui peuvent être comparées, par exemple des nombres entiers, des nombres à virgule flottante, des chaînes de caractères, etc.) d’un tableau (ou d’une liste) dans un certain ordre (croissant, non décroissant, décroissant, non croissant, lexicographique, etc.)

Il existe de nombreux algorithmes de tri différents, chacun ayant ses propres avantages et limites.

Le tri rapide

L’algorithme de tri rapide (ou Quick Sort Algorithm) est un algorithme de tri très efficace, basé sur le partitionnement d’un ensemble de données en plus petits tableaux. Un grand tableau est partitionné en deux tableaux, l’un contenant des valeurs inférieures à la valeur spécifiée, par exemple un pivot, sur la base de laquelle la partition est effectuée, et un autre tableau contenant des valeurs supérieures à la valeur du pivot.

L’algorithme de tri rapide partitionne un tableau et se fait appeler récursivement deux fois pour trier les deux sous-tableaux résultants. Cet algorithme est très efficace pour les ensembles de données de grande taille, car sa complexité moyenne et sa complexité dans le pire des cas sont respectivement O(nLogn) et O(n2).

Vous pouvez lire toute la théorie du monde sur les algorithmes de tri, mais voir ces structures en action peut vraiment vous faire avancer. Si vous êtes le genre de programmeur qui apprend mieux avec des images plutôt qu’avec des mots, consultez VisualAlgo

Avec VisualAlgo, vous pouvez créer votre propre liste de nombre et visualiser simultanément le résultat du tri et l’évolution étape par étape de l’algorithme de tri rapide (ou Quick Sort Algorithm).

VisualAlgo est un outil de visualisation d’algorithmes

VisualAlgo est un outil de visualisation d’algorithmes basé sur le web sans qu’il soit nécessaire d’installer un logiciel supplémentaire.

Il utilise les dernières technologies web : HTML5, CSS3, JavaScript.

Il permet aux utilisateurs de spécifier leurs propres entrées d’algorithme et la visualisation fonctionnera sur avec ces entrées. Il s’agit d’une collection de visualisations d’algorithmes avec une interface unifiée.

La visualisation est très efficace pour comprendre l’algorithme, et il en va de même pour comprendre la visualisation du programme. Ainsi, au fur et à mesure que la compréhension des algorithmes et de la programmation progresse, le site “VisualAlgo” permet d’apprendre simultanément les algorithmes et la programmation en visualisant le code du programme qui décrit l’algorithme en une seule fois.

Le site est interactif, vous pouvez donc choisir ou insérer des éléments dans la collection d’exemples et de regarder comment elle fonctionne visuellement.

Le coin supérieur gauche fournit généralement une explication de ce qui se passe, tandis qu’un pseudo-code apparaît en bas à droite.

C’est un très bon outil pour visualiser les concepts de structure de données et les algorithmes.

Pour aller plus loin

Pour approfondir cette notion, et développer vos compétences vous pouvez consulter cette ouvrage.

Quiz : Arbre binaire – Parcours en profondeur préfixe

Dans ce billet, nous allons étudier un algorithme clés utilisé pour lire le contenu d’un arbre binaire ; le parcours en profondeur préfixe (ou en anglais DFS pour Depth-First Search preorder).

Arbre binaire ?

Un arbre binaire est une structure de données utilisée dans certains algorithmes pour stocker des données. Dans un arbre binaire, chaque nœud peut avoir jusqu’à deux enfants.

Que savez-vous sur le parcours en profondeur préfixe dans  les arbres binaires ?

3 questions pour faire le point sur cette algorithme ?

Pour aller plus loin

Pour approfondir vos connaissances, et développer vos compétences, je vous propose cette sélection de livre.

La récursivité expliquée avec une image GIF – 5/6

Un programme est dit récursif lorsqu’une entité s’appelle elle-même. Un programme est appelé itératif lorsqu’il y a une boucle (ou répétition).

Exemple : Programme triangle de Pascal

Pour aller plus loin

Pour approfondir vos connaissances, et développer vos compétences, je vous propose cette sélection de livre.

Comment visualiser l’algorithme de tri par insertion ?

Le tri est un problème très classique de réorganisation des données (qui peuvent être comparées, par exemple des nombres entiers, des nombres à virgule flottante, des chaînes de caractères, etc.) d’un tableau (ou d’une liste) dans un certain ordre (croissant, non décroissant, décroissant, non croissant, lexicographique, etc.)

Il existe de nombreux algorithmes de tri différents, chacun ayant ses propres avantages et limites.

Le tri par insertion

L’algorithme de tri par insertion (ou Insertion Sort Algorithm) considère la première valeur d’une liste comme une sous-liste triée (d’une seule valeur pour commencer). Cet algorithme itératif vérifie ensuite une à une toutes les valeurs de la liste restante. Il insère la valeur dans la sous-liste triée de l’ensemble de données à la bonne position, en déplaçant les éléments de rang supérieur vers le haut si nécessaire.

Cet algorithme n’est pas toujours très efficace et est surtout recommandé lors du tri d’une petite liste de valeurs ou d’une liste déjà presque triée.

Vous pouvez lire toute la théorie du monde sur les algorithmes de tri, mais voir ces structures en action peut vraiment vous faire avancer. Si vous êtes le genre de programmeur qui apprend mieux avec des images plutôt qu’avec des mots, consultez VisualAlgo

Avec VisualAlgo, vous pouvez créer votre propre liste de nombre et visualiser simultanément le résultat du tri et l’évolution étape par étape de l’algorithme de tri par insertion (ou Insertion Sort Algorithm)

VisualAlgo est un outil de visualisation d’algorithmes

VisualAlgo est un outil de visualisation d’algorithmes basé sur le web sans qu’il soit nécessaire d’installer un logiciel supplémentaire.

Il utilise les dernières technologies web : HTML5, CSS3, JavaScript.

Il permet aux utilisateurs de spécifier leurs propres entrées d’algorithme et la visualisation fonctionnera sur avec ces entrées. Il s’agit d’une collection de visualisations d’algorithmes avec une interface unifiée.

La visualisation est très efficace pour comprendre l’algorithme, et il en va de même pour comprendre la visualisation du programme. Ainsi, au fur et à mesure que la compréhension des algorithmes et de la programmation progresse, le site “VisualAlgo” permet d’apprendre simultanément les algorithmes et la programmation en visualisant le code du programme qui décrit l’algorithme en une seule fois.

Le site est interactif, vous pouvez donc choisir ou insérer des éléments dans la collection d’exemples et de regarder comment elle fonctionne visuellement.

Le coin supérieur gauche fournit généralement une explication de ce qui se passe, tandis qu’un pseudo-code apparaît en bas à droite.

C’est un très bon outil pour visualiser les concepts de structure de données et les algorithmes.

Pour aller plus loin

Pour approfondir cette notion, et développer vos compétences vous pouvez consulter cette ouvrage.

Métier : Retoucheur – retoucheuse d’image

Le travail des retoucheurs numériques se situe après celui des photographes et avant une utilisation définitive de l’image pour impression ou publication. Le retoucheur doit améliorer ou modifier les photos à l’aide de logiciels de retouche numérique. Il travaille l’image afin de corriger ou d’améliorer la couleur, la luminosité, le contraste, de gommer les imperfections et parfois même de composer des montages. Dans certains cas, comme dans le domaine de la publicité, l’image modifiée est très différente de la photographie initiale.

Pour en savoir plus


Les Metiers du Web