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