Collecte de structures et d'algorithmes de données Java
Ce référentiel contient des exemples de code éducatif pour diverses structures de données et algorithmes implémentés en Java. Il est conçu pour aider les apprenants à comprendre et à appliquer des concepts fondamentaux dans les structures de données et les algorithmes. Chaque fichier et dossier comprend des commentaires détaillés pour expliquer le code et les concepts.
Contenu
Structures de données
Structures de données de base
- Tableau
- Liste liée
- Liste liée individuellement
- Liste doublement liée
- Liste liée à la circulaire
- Empiler
- File d'attente
- File d'attente prioritaire
- Table de hachage
- Ensemble
- Carte
Arbres
- Arbre binaire
- Arbre de recherche binaire (BST)
- Arbre avl
- Arbre noir
- Arbre de segment
- Fenwick Tree (arbre indexé binaire)
- Arbre ternaire
- N-arbre
Graphiques
- Graphique dirigé
- Graphique non dirigée
- Graphique pondéré
Algorithmes
Tri des algorithmes
- Tri bulle
- Tri de sélection
- Tri insertion
- Fusion
- Tri rapide
- Trie de tas
- Tri de comptage
- Radix Toi
- Trier
- Toi de bingo
- Tri
- Peigne
- Cocktail
Recherche d'algorithmes
- Recherche linéaire
- Recherche binaire
- First de recherche en profondeur (DFS)
- Étendue de la première recherche (BFS)
- Recherche de saut
- Recherche de fibonacci
Algorithmes graphiques
- Algorithme de Dijkstra
- Algorithme de Bellman-Ford
- Algorithme de Floyd-Warshall
- L'algorithme de Kruskal
- Algorithme de Prim
- Tri topologique
- A * Algorithme de recherche
- Algorithme de Huffman
Programmation dynamique
- Série Fibonacci
- La plus longue subséquence commune (LCS)
- La plus longue subséquence croissante (LIS)
- Multiplication de la chaîne matricielle
Mathématiques discrètes et algorithmes combinatoires
- Permutations et combinaisons
- Problème de somme sous-ensemble
- Problème des vendeurs itinérants (TSP)
- Coloration du graphique
Comment utiliser
Chaque fichier et dossier Java est nommé pour indiquer la structure de données ou l'algorithme qu'il couvre. Par exemple, dans le dossier Algorithms , le dossier 1-sorting_algorithms contient 1-bubble_sort , qui traite de l'algorithme de tri de bulles en Java.
Contributif
Si vous souhaitez contribuer à ce référentiel, n'hésitez pas à soumettre une demande de traction. Vous pouvez ajouter de nouveaux exemples, améliorer le code existant ou résoudre les problèmes. Les contributions de tous les niveaux sont les bienvenues!
Licence
Ce référentiel est concédé sous licence MIT. Voir le fichier de licence pour plus d'informations.
Remarque: Ce référentiel est destiné à des fins éducatives pour aider à apprendre et à comprendre les structures de données et les algorithmes en Java.
N'oubliez pas de mettre en vedette le référentiel si vous le trouvez utile!