Listes Linéaires : Définition, Opérations et Implémentation Séquentielle
Introduction aux Listes Linéaires
Une liste linéaire est une structure de données fondamentale, caractérisée par une séquence finie d'éléments de même type. Chaque élément, sauf le premier, possède un prédécesseur unique, et chaque élément, sauf le dernier, a un successeur unique. Lorsque la liste est vide, elle ne contient aucun élément.
Forme ...
Publié le 16 juillet à 18h34
Les Ensembles (Sets) en Python : Propriétés et Utilisation
En Python, le type de données set (ensemble) est une collection non ordonnée d'éléments uniques. Cette structure est particulièrement utile pour gérer des groupes d'objets où l'ordre n'a pas d'importance et où les doublons doivent être automatiquement exclus.
Création et Caractéristiques Fondamentales
Un ensemble peut être créé en plaçant des é ...
Publié le 10 juillet à 22h23
Manipulation de listes chaînées : suppression d'éléments, conception et inversion
Ce jour marque la troisième journée d'exercices axés sur les structures de données de listes chaînées. Nous allons aborder trois problèmes classiques : la suppression d'éléments spécifiques, la conception d'une classe de liste chaînée et l'inversion d'une liste chaînée.
Suppression d'éléments d'une liste chaînée
Le premier problème consiste à s ...
Publié le 24 juin à 02h05
Exploration des composantes connexes d'un graphe par parcours DFS et BFS
Cet article présente une approche pour identifier et lister toutes les composantes connexes d'un graphe non orienté en utilisant deux algorithmes de parcours fondamentaux : le parcours en profondeur (DFS) et le parcours en largeur (BFS).
Description du Problème
Étant donné un graphe non orienté composé de N sommets et E arêtes, le but est d'énu ...
Publié le 23 juin à 00h49
Algorithmes sur les Arbres Binaires : Transformations et Parcours
1. Transformation d'un arbre binaire en liste chaînée
L'objectif est d'aplatir un arbre binaire pour qu'il ressemble à une liste chaînée simple, en utilisant la même structure TreeNode. La liste doit suivre l'ordre d'un parcours en pré-ordre (racine, gauche, droite), avec tous les nœuds gauches mis à null.
/**
* Definition for a binary tree no ...
Publié le 18 juin à 18h47
Comprendre et Implémenter l'Arbre Cartésien en C++
Introduction à l'Arbre Cartésien
L'arbre cartésien est une structure de données arborescente binaire dérivée d'une séquence de nombres. Il est particulièrement utile pour résoudre des problèmes tels que les requêtes de minimum/maximum sur un intervalle (RMQ) et les requêtes de type "top-k". Introduit par Jean Vuillemin en 1980 pour ré ...
Publié le 15 juin à 05h16
Calculer le nombre d'inversions avec des techniques de discrétisation
L'objectif est de compter le nombre d'inversions dans une séquence d'entiers. Une inversion est une paire d'indices (i, j) telle que i < j et arr[i] > arr[j]. Nous allons explorer deux approches principales, toutes deux offrant une complexité temporelle de O(log n) après prétraitement.
Approche par Division et Fusion (Merge Sort)
Cette mé ...
Publié le 10 juin à 01h29
Implémentation et principes de LinkedHashMap en Java
LinkedHashMap est une structure de données couramment utilisée en Java. Le cache LruCache dans Android utilise LinkedHashMap en interne. L'algorithme LRU (Least Recently Used) vise à éliminer les objets de cache les moins récemment utilisés lorsque le cache est plein.
Algorithme de cache LruCache
LruCache utilise l'algorithme LRU. L'idée princi ...
Publié le 8 juin à 08h27
Structures de données : Introduction aux arbres et aux arbres binaires
Arbres
1.1 Concepts et Structure des Arbres
Un arbre est une structure de données non linéaire composée de N (N ≥ 0) nœuds finis formant une hiérarchie. Sa structure rappelle celle d'un arbre inversé, avec la racine en haut et les feuilles en bas.
Il existe un nœud spécial appelé racine, qui n'a pas de nœud parent.
Tous les autres nœuds sont d ...
Publié le 5 juin à 01h07
Parcours des Feuilles d'un Arbre Binaire - Exercice de Cours MOOC
Résumé des exercices Exericces du cours MOOC sur les structures de données de l'Université du Zhejiang - Partage de code sur la plateforme de programmation - 2024
Description du problème
Étant donné un arbre, vous devez lister toutes les feuilles dans l'ordre de haut en bas, et de gauche à droite.
**Spécification d'entrée :**Chaque fichier d' ...
Publié le 2 juin à 23h33