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.

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.

Quiz : Arbre binaire – Parcours en largeur

Dans ce billet, nous allons étudier un algorithme clés utilisé pour lire le contenu d’un arbre binaire ; le parcours en largeur (ou en anglais BFS pour Breadth-First Search).

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 largeur 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 – 4/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 : la suite de Fibonacci

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 sélection ?

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 sélection

Le tri de sélection (ou Selection Sort Algorithm) est un algorithme de tri simple. Cet algorithme de tri est un algorithme de comparaison sur place dans lequel la liste est divisée en deux parties, la partie triée à l’extrémité gauche et la partie non triée à l’extrémité droite. Au départ, la partie triée est vide et la partie non triée constitue la liste complète.

Le plus petit élément est sélectionné dans le tableau non trié et échangé avec l’élément le plus à gauche, et cet élément devient une partie du tableau trié. Ce processus continue à déplacer la limite du tableau non trié d’un élément vers la droite.

Cet algorithme n’est pas adapté aux grands ensembles de données car ses complexités moyenne et pire sont de Ο(n2), où n est le nombre d’éléments.

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 sélection (ou Selection 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.

La récursivité expliquée avec une image GIF – 3/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 pour trouver la factorielle d’un nombre

Pour aller plus loin

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