Implémentation d'un Tampon Circulaire Inspiré du kfifo du Noyau Linux
Cet article explore la conception et l'implémentation d'un tampon circulaire, en s'inspirant fortement de la structure kfifo du noyau Linux. L'objectif est de créer un mécanisme de stockage de données efficace et performant, particulièrement utile dans les scénarios de communication inter-processus ou de gestion de flux de données.
Puissances ...
Publié le 26 août à 19h13
Problèmes de programmation des écoles multiples 11
T1 Problème de criblage par intervalle
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e6+10;
int prime[N];
ll values[N];//pour [L, R]
bool not_prime[N];
ll left, right;
void sieve(int size){
for(int i = 2; i <= size; ++i){
if(!not_prime[i]) prime[++prime[0]] = i;
for(int j = 1; j <= prime[0] & ...
Publié le 14 août à 12h49
Les listes en Python : Guide complet
En Python 3, la structure de données list est un type de séquence mutable fondamental et largement utilisé. Elle permet de stocker une collection ordonnée d'éléments. Ce guide explore ses caractéristiques essentielles, ses opérations courantes, ses considérations de performance et les bonnes pratiques.
Caractéristiques principales
Ordonnée : L ...
Publié le 5 août à 05h19
Gestionnaire de contacts en C avec tableau statique
Le gestionnaire repose sur une structure double niveau : une entité Personne encapsulant les données individuelles, et un conteneur Annuaire agrégeant ces entités avec un compteur de population.
Structure des données
typedef struct {
char identifiant[NOM_TAILLE];
int annees;
char genre[GENRE_TAILLE];
char numero[TELEPHONE_TAILLE ...
Publié le 1 août à 09h43
Équilibrer une Balance avec des Contraintes Séquentielles
Vous disposez de N masses, chacune ayant un poids unique A_1, A_2, ..., A_N. Votre tâche consiste à placer chaque masse sur un plateau d'une balance (gauche ou droite) dans un ordre spécifique. Une chaîne de caractères S de longueur N indique la condition d'équilibre à respecter après le placement de la i-ème masse : 'L' signifie que le plateau ...
Publié le 31 juillet à 00h58
Recherche du Premier Caractère Unique dans une Chaîne en Java (LeetCode 387)
La tâche consiste à identifier le premier caractère non répétitif au sein d'une chaîne de caractères donnée et à renvoyer son indice. Si aucun caractère unique n'est trouvé, la fonction doit retourner -1.
Exemples :
s = "leetcode" retourne 0 (le caractère 'l' est le premier unique)
s = "loveleetcode" retourne 2 (le caractèr ...
Publié le 25 juillet à 04h26
Manipulations fondamentales sur les listes chaînées
Compréhension des structures de liste chaînée
Prenons un exemple de liste chaînée : let liste = [1, 2, 3, 4]
Dans cette structure, liste.val vaut 1, et liste.next correspond au nœud contenant [2, 3, 4] où liste.next.val vaut 2.
Construction d'une liste chaînée à partir d'un vecteur
Convertir les éléments d'un vecteur en une liste chaînée peut s ...
Publié le 17 juillet à 18h33
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