Implémentations Fondamentales des Structures de Données en C++
Liste Simplement Chaînée
Cette implémentation utilise des tableaux statiques pour simuler une liste chaînée, ce qui est particulièrement efficace en programmation compétitive pour éviter les allocations dynamiques coûteuses.
// tete : indice du premier élément
// val[] : stocke les données
// suivant[] : pointeur vers l'indice suivant
// curseu ...
Publié le 22 août à 21h00
L'Automate d'Aho-Corasick : Principes et Implémentation en C++
L'automate d'Aho-Corasick est un algorithme puissant de recherche de motifs multiples, permettant de localiser toutes les occurrences d'un ensemble de mots-clés (motifs) à l'intérieur d'un texte donné. Il combine les concepts d'un arbre de préfixes (Trie) et de la fonction d'échec de l'algorithme de Knuth-Morris-Pratt (KMP) pour réaliser une re ...
Publié le 25 juillet à 15h24
Algorithmes de recherche de sous-chaînes et de répétition : KMP et au-delà
La capacité d'une personne à aller loin ne se mesure pas à la vitesse à laquelle elle avance dans des circonstances favorables, mais à la rapidité avec laquelle elle retrouve son essence dans l'adversité.
— KMP
LeetCode 28 : Trouver l'index de la première occurrence d'une sous-chaîne
Lien du problème : LeetCode 28. Trouver l'index de la premièr ...
Publié le 6 juillet à 22h01
Bibliothèque de modèles pour algorithmes et structures de données
Structures de données
Théorie des graphes
Flot maximal
Dinic
Implémentation de l'algorithme de Dinic pour le flot maximal.
int compteurArête = 1, nbNœuds, nbArêtes, flotMax, courant[N], distance[N], source, puits, listeAdjacence[N];
std::queue<int> file;
struct Arête {int dest, capacité, suivante;} arêtes[M*2];
void ajouterArête(int u, i ...
Publié le 30 mai à 10h36