Compétition Mensuelle de Mai 2023 de la Shanghai Computer Society
T1 : Tri par Ordre Croissant (II) Limite de Mémoire : 256 MoLimite de Temps : 1000 ms Description du Problème : Étant donné une permutation de longueur n, à chaque opération, vous pouvez sélectionner un élément et le déplacer au début ou à la fin. Détermniez le nombre minimum d'opérations nécessaires pour transformer la permutation en une séque ...
Publié le 2 juillet à 04h15
Exercices Pratiques sur les Manipulations de Listes et Tuples en Python
Exercice 1 : Création et initialisation d'une liste
Générez une liste vide appelée donnees_utilisateurs et insérez-y les éléments conducteur_principal, precipitation, jacques, shanshan, peqi, utilisateur_feminin.
donnees_utilisateurs = ["conducteur_principal", "precipitation", "jacques", "shanshan", " ...
Publié le 30 juin à 19h05
Algorithmes de listes chaînées : suppression, conception et inversion
Les listes chaînées sont une structure de données fondamentale en informatique. Cet article examine trois techniques clés : la suppression d'éléments, la conception complète d'une liste et l'inversion d'une liste chaînée.
Suppression d'éléments dans une liste chaînée
Le but est de retirer tous les nœuds dont la valeur correspond à un paramèt ...
Publié le 30 juin à 17h00
Arbres de Segments : Principes Fondamentaux et Opérations Avancées
L'arbre de segments (Segment Tree) est une structure de données avancée, basée sur le principe de diviser pour régner. Il s'agit d'une structure arborescente binaire principalement conçue pour résoudre des problèmes d'intervalle ou de plage. Cette structure permet de maintenir des variables qui satisfont la propriété d'associativité (comme le m ...
Publié le 28 juin à 03h13
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