Java -Datenstrukturen und Algorithmensammlung
Dieses Repository enthält Beispiele für Bildungscode für verschiedene Datenstrukturen und Algorithmen, die in Java implementiert sind. Es soll den Lernenden helfen, grundlegende Konzepte in Datenstrukturen und Algorithmen zu verstehen und anzuwenden. Jede Datei und jeder Ordner enthält detaillierte Kommentare, um den Code und die Konzepte zu erläutern.
Inhalt
Datenstrukturen
Grundlegende Datenstrukturen
- Array
- Verlinkte Liste
- Einzig verknüpfte Liste
- Doppelt verknüpfte Liste
- Rundschreiben verknüpfte Liste
- Stapel
- Warteschlange
- Prioritätswarteschlange
- Hash -Tisch
- Satz
- Karte
Bäume
- Binärbaum
- Binärer Suchbaum (BST)
- Avlbaum
- Rotschwarzer Baum
- Segmentbaum
- Fenwick Tree (binär indiziertes Baum)
- Ternärer Baum
- N-Ary-Baum
Grafiken
- Regie Graph
- Ungerichtete Grafik
- Gewichtete Grafik
Algorithmen
Sortieren von Algorithmen
- Blasenart
- Auswahlsart
- Insertion -Sortierung
- Sortierung zusammenführen
- Schnelle Sortierung
- Haufensart
- Zählsart
- Radix -Sortierung
- Eimer -Sort
- Bingo -Sortierung
- Shell -Sortierung
- Kammsart
- Cocktail -Sortierung
Suchen von Algorithmen
- Lineare Suche
- Binäre Suche
- Tiefe erste Suche (DFS)
- Breite erste Suche (BFS)
- Sprungsuche
- Fibonacci -Suche
Graphalgorithmen
- Dijkstra -Algorithmus
- Bellman-Ford-Algorithmus
- Floyd-Warshall-Algorithmus
- Kruskals Algorithmus
- Prims Algorithmus
- Topologische Sortierung
- A* Suchalgorithmus
- Huffman -Algorithmus
Dynamische Programmierung
- Fibonacci -Serie
- Längste gemeinsame Subsequence (LCS)
- Die längste zunehmende Subquence (LIS)
- Matrix -Kettenmultiplikation
Diskrete Mathematik- und kombinatorische Algorithmen
- Permutationen und Kombinationen
- Teilmenge Summe Problem
- Reiseberechtiger Verkäuferproblem (TSP)
- Grafikfarbe
Wie man benutzt
Jede Java -Datei und -ordner wird benannt, um die Datenstruktur oder den von ihm abdeckenden Algorithmus anzuzeigen. Zum Beispiel enthält der Ordner 1-sorting_algorithms im Ordner Algorithms 1-bubble_sort , das sich mit dem Blasensortalgorithmus in Java befasst.
Beitragen
Wenn Sie zu diesem Repository beitragen möchten, können Sie eine Pull -Anfrage vorlegen. Sie können neue Beispiele hinzufügen, vorhandenen Code verbessern oder Probleme beheben. Beiträge aller Ebenen sind willkommen!
Lizenz
Dieses Repository ist unter der MIT -Lizenz lizenziert. Weitere Informationen finden Sie in der Lizenzdatei.
Hinweis: Dieses Repository ist für Bildungszwecke vorgesehen, um Datenstrukturen und Algorithmen in Java zu lernen und zu verstehen.
Denken Sie daran, das Repository zu spielen, wenn Sie es nützlich finden!