Algorithme de vérification de l'isomorphisme de deux arbres binaires
L'isomorphisme d'arbres est un concept fondamental en structures de données. Deux arbres binaires, T1 et T2, sont dits isomorphes si l'on peut transformer T1 en T2 en échangeant, pour un nombre quelconque de nœuds, leurs enfants gauche et droit. Cet article présente une approche systématique pour résoudre ce problème en utilisant une représenta ...
Publié le 28 juin à 02h38
Application de l'Union-Find pour résoudre des problèmes de vérité et de relations alimentaires
L'Union-Find est une structure de données efficace pour gérer des ensembles disjoints, souvent utilisée pour modéliser des relatoins entre éléments. Dans cet article, nous explorons son application à deux problèmes classiques : la détermination du nombre maximum de héros dans un scénario de vérité et de mensonge, et la vérification de relations ...
Publié le 26 juin à 22h57
Maîtrise des fondamentaux de la programmation Python
Configuration de l'encodage
Bien que Python 3 utilise par défaut l'encodage UTF-8, il est parfois nécessaire de spécifier explicitement l'encodage des fichiers sources pour garantir la compatibilité, notamment lors de l'utilisation de caractères spéciaux. On insère alors cette ligne en tout début de script :
# -*- coding: utf-8 -*-
Structures ...
Publié le 26 juin à 21h22
PTA Structures de Données et Algorithmes – 7-4 : Même arbre binaire de recherche ?
Étant donné une séquence d'insertion, on peut construire un unique arbre binaire de recherche. Cependant, un même arbre binaire de recherche peut être obtenu à partir de plusieurs séquences d'insertion différentes. Par exemple, les séquences {2, 1, 3} et {2, 3, 1} insérées dans un arbre binaire de recherche initialement vide donnent le même rés ...
Publié le 24 juin à 04h07
Les cinq structures de données fondamentales de Redis
Le type String (Chaîne de caractères)
String est la structure de données la plus basique de Redis. Elle peut stocker jusqu'à 512 Mo de données et est binaire-safe, ce qui signifie qu'elle peut contenir n'importe quel type de données : un nombre, une image sérialisée, un objet, etc.
Commandes courantes : SET, GET, APPEND, STRLEN
La commande A ...
Publié le 24 juin à 02h04
Implémentation de listes doublement chaînées en C++, C# et Java
Structure de données de liste doublement chaînée
La liste doublement chaînée est une structure de données fondamentale où chaque élément contient des références vers les nœuds précédents et suivants. Cette structure permet un parcours bidirectionnel et des opérations d'insretion/suppression efficaces aux deux extrémités.
Implémentation en C++
V ...
Publié le 24 juin à 01h49
Algorithmes et Techniques en Programmation Concurrentielle
P2569 https://www.luogu.com.cn/problem/P2569
Référence à cet article.
/* Optimisation de DP par file monotone
L'équation de transfert pour l'achat d'actions énumère j de manière séquentielle, car le nombre d'actions détenues devrait augmenter. La décision actuelle pourrait être nécessaire pour des j plus tardifs, donc elle doit être calculée à ...
Publié le 23 juin à 18h46
Implémentation d'une pile en Java avec un tableau dynamique
Cette structure peut être implémentée à l'aide d'un tableau. Voici les principes :
L'empilement ajoute des éléments à la fin du tableau.
Le dépilement supprime des éléments de la fin du tableau.
Commençons par un exemple d'utilisation de la classe Stack de Java :
public static void main(String[] args) {
Stack<String> maPile = new S ...
Publié le 23 juin à 18h22
Le Jeu du Roi
En ce jour de fête nationale dans le royaume H, le roi invite n dignitaires à participer à un jeu récompensé.
Chaque dignitaire note un nombre entier sur sa main gauche et un sur sa main droite. Le roi fait de même.
Les n dignitaires forment ensuite une file, avec le roi en tête.
Chaque dignitaire reçoit un certain nombre de pièces d'or, calcul ...
Publié le 20 juin à 21h51
Implémentation et Analyse de la Liste Doublement Chaînée Circulaire en C
La liste doublement chaînée (doubly linked list) est une structure de données linéaire où chaque élément, appelé nœud, contient des références vers son successeur et son prédécesseur. Contrairement à une liste simple, la variante la plus robuste et la plus utilisée en pratique est la liste doublement chaînée circulaire avec nœud sentinelle.
1. ...
Publié le 20 juin à 00h14