Bilan des trois premiers devoirs PTA
Après avoir traversé trois épreuves PTA, j'ai l'impression d'avoir évolué. La moitié de mes cellules cérébrales ont déjà pris le chemin du paradis. Peut-être est-ce ma propre lenteur, mais j'ai trouvé que le premier devoir PTA était gérable, le deuxième un peu difficile, et le troisième m'a complètement déconcerté. Cependant, j'ai beaucoup appr ...
Publié le 8 juillet à 19h44
Arbres binaires de recherche : Solutions pour les problèmes LeetCode 235, 701 et 450
Problème 235 : Ancestre commun le plus bas dans un arbre binaire de recherche
Approche : En exploitant la structure ordonnée des arbres binaires de recherche, nous déterminons l'ancestre commun en comparant la valeur du nœud courant avec les valeurs cibles. Si la valeur courante est supérieure aux deux cibles, nous explorons le sous-arbre gauch ...
Publié le 8 juillet à 01h11
Techniques fondamentales d'algorithmique : structures de données et optimisation
Tableaux
Recherche binaire
Étant donné un tableau trié en ordre croissant et une valeur cible, implémentez une fonction de recherche avec une complexité O(log n) retournant l'index de la cible ou -1.
Deux approches selon la définition de l'intervalle :
Intervalle [gauche, droite) : right = longueur du tableau
Intervalle [gauche, droite] : ri ...
Publié le 7 juillet à 21h20
Manipulation des listes et des tuples en Python
HTML
Cet article explore les structures de données fondamentales en Python : les listes et les tuples, en détaillant diverses opérations que l'on peut effectuer sur celles-ci.
Copmrendre les listes
1.1 Qu'est-ce qu'une liste ?
Une liste est une collection ordonnée d'éléments. En Python, les listes sont définies à l'aide de crochets [], les é ...
Publié le 5 juillet à 20h05
Approches Algorithmiques Avancées pour Problèmes Sélectionnés
Cet article explore diverses techniques algorithmiques à travers une sélection de problèmes de programmation compétitive, couvrant des domaines tels que la construction, la théorie des nombres, les structures de données avancées, la programmation dynamique et la théorie des graphes.
CF1667C Couverture par Semi-Dames
Tags: Construction, Mathémat ...
Publié le 5 juillet à 17h38
Implémentation et gestion des listes chaînées simples en langage C
Pourquoi privilégier les listes chaînées ?
Dans l'apprentissage du C, le tableau est généralement la première structure de données utilisée pour stocker des collections. Cependant, les tableaux imposent des contraintes majeures : - Ils occupent un bloc de mémoire contigu.
Leur taille doit être définie à la compilation ou lors de l'allocation i ...
Publié le 4 juillet à 05h20
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