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", &quot ...

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