À propos du projet

Ce dépôt est une collection d'exemples d'algorithmes et de structures de données en JavaScript. Chaque entrée dispose d'un README dédié avec des explications et des références externes, notamment des vidéos YouTube. Il est principalement destiné à l'apprentissage et à la préparation aux entretiens plutôt qu'à servir de bibliothèque de production. Les structures de données couvertes incluent les listes chaînées, les files, les piles, les tables de hachage, les tas, les files de priorité, les arbres (recherche binaire, AVL, rouge-noir, segment et Fenwick), les graphes, les ensembles disjoints, les filtres de Bloom et les caches LRU. Les algorithmes sont listés à la fois par thème (mathématiques, ensembles, chaînes de caractères, recherches, tris, arbres, graphes, cryptographie, apprentissage automatique, traitement d'images, statistiques et algorithmes évolutionnaires) et par paradigme (force brute, glouton, diviser pour régner, programmation dynamique, retour sur trace et branch & bound). Les éléments sont marqués B pour Débutant et A pour Avancé. Le projet comprend un fichier playground pour l'expérimentation et des tests pour toutes les implémentations. Les commandes courantes sont npm install, npm run lint, npm test et npm test -- 'LinkedList'. Node.js >=16 est recommandé. Le README contient également des tableaux de complexité pour la notation Big O, les opérations sur les structures de données et les algorithmes de tri de tableaux.