Simulation dans les algorithmes et structures de données

Présentation de la simulation La simulation est une technique fondamentale en informatique, souvent la première rencontrée par les étudiants en algorithmique. Sa difficulté peut varier considérablement, allant de problèmes simples comme « A+B » ou « Arbres devant l'école » à des défis complexes tels que « Porc Killer » ou « Batialle spatiale su ...

Publié le 11 juillet à 22h12

Les dictionnaires en Python : Structures de données clé-valeur

Aperçu des dictionnaires Les dictionnaires en Python sont des conteneurs mutables capables de stocker des éléments de tout type. Ils organisent les données en paires clé-valeur, où chaque clé doit être unique. Dans les versions antérieures à Python 3.7, les dictionnaires sont non ordonnés ; à partir de Python 3.7, ils préservent l'ordre d'in ...

Publié le 25 juin à 17h34

Vérifier si une liste chaînée est un palindrome

Problème Étant donné une liste chaînée simplement chaînée, déterminer si elle constitue un palindrome. Suivi : Peut-on résoudre ce problème en O(n) temps et O(1) espace ? Analyse L'objectif est de vérifier si une liste chaînée est symétrique (palindrome). Solution 1 : Approche avec tableau auxiliaire Une première idée consiste à parcourir la li ...

Publié le 22 juin à 22h47

Optimisation des coupons magiques avec des tas binaires

Coupons magiques (25 points) Sur Mars, une boutique magique propose des coupons spéciaux. Chaque coupon possède une valeur entière K : en l'appliquant à un produit, vous recevez K fois la valeur de celui-ci. La boutique offre aussi certains articles gratuits, mais si vous utilisez un coupon positif sur un cadeau (valeur négative), vous devez pa ...

Publié le 22 juin à 18h24

Notes de résolution de problèmes LeetCode (débutant)

Manipulations courantes Chaînes de caractères # Conversion ASCII ord('A') # 65 chr(65) # 'A' # Nettoyage s = " hello\t\n" s.strip() # "hello" s.lstrip() # "hello\t\n" s.rstrip() # " hello" # Tests et transformations "abc".isalpha() # True "123".isnu ...

Publié le 21 juin à 00h34

Structures de données fondamentales : sac, file d'attente et pile

Structures de données de collection De nombreux types de données fondamentaux reposent sur la gestion d'une collection d'objets. La valeur du type est un ensemble d'objets, et les opérations consistent à ajouter, supprimer ou accéder à ces objets. Nous examinerons trois structures de données de ce type : le Sac (Bag), la File d'attente (Queue) ...

Publié le 16 juin à 16h24

Parcours d'Arbres Binaires en C++ : Méthodes Itératives et Récursives

Parcours Pré-Ordre d'un Arbre Binaire Méthode Récursive La mise en œuvre récursive dépend de trois éléments fondamentaux : Définir les paramètres et la valeur de retour de la fonction récursive. Établir la condition d'arrêt de base. Définir la logique d'appel récursif pour un nœud unique. /** * Définition pour un nœud d'arbre binaire. * ...

Publié le 1 juin à 02h08