Englisch | 简体中文
Algorithmen und Datenstrukturen
Dies ist die Sammlung von Algorithmen, Datenstrukturen und Interviewfragen mit Lösungen. Dieses Repository enthält meine Lösungen für häufige algorithmische Probleme und die Implementierung von Datenstrukturen in Java. Ich habe dieses Repository erstellt, um mehr über Algorithmen zu erfahren. Ich füge kontinuierlich Lösungen hinzu.
Bisher werden Algorithmen, Datenstrukturen und mehr als 300 Probleme und Lösungen bereitgestellt.
Fragen
Hier sind die Fragen nach Schwierigkeitsgrad unterteilt:
- Einfache Fragen und Antworten
- Mittlere Fragen und Antworten
- Schwierige Fragen und Antworten
Probleme:
Arrays
- Array drehen
- Enthält Duplikat
- Peak-Element finden
- Maximales Subarray
- K-tes größtes Element in einem Array
- Alle Duplikate in einem Array finden
- Längste ansteigende Folge
- Bild drehen, Matrix
- Mischen Sie ein Array
- Finden Sie Min in der gedrehten Anordnung
- Suche im gedrehten Array
Verlinkte Liste
- Implementierung einer einfach verknüpften Liste
- Implementierung einer doppelt verknüpften Liste
- Knoten in einer verknüpften Liste löschen
- Palindrome-verknüpfte Liste
- Umgekehrt verknüpfte Liste
- Schnittpunkt zweier verknüpfter Listen
- Zyklus verknüpfter Listen
- N-ten Knoten vom Ende der Liste entfernen
- Sortierliste zusammenführen
- Suchen Sie nach dem Zyklus „Verknüpfte Liste“.
- K sortierte Listen zusammenführen
Und viele andere Probleme mit verknüpften Listen
Binärer Baum
- Ordnungsdurchquerung auf binärer Baumebene
- Summe der linken Blätter
- Binärbaum umkehren
- Binärer Suchbaum-Iterator
- Binärbaum-Postorder-Traversal
- Binärbaum-Vorbestellungsdurchquerung
- Reduzieren Sie den Binärbaum auf eine verknüpfte Liste
- Symmetrischer Baum
- Binärer Baum-Inorder-Traversal
- Gleicher Baum
- Maximale Tiefe des Binärbaums
- Ausgewogener Binärbaum
- Mindesttiefe des Binärbaums
- Sortierte Liste zum ausgewogenen binären Suchbaum
- Validieren Sie den binären Suchbaum
- Sortierte Liste zu ausgewogenem BST
- K-tes kleinstes Element in einem BST
- Durchquerung der Binärbaum-Zickzack-Ebenenreihenfolge
- Knoten in einem BST löschen
- Niedrigster gemeinsamer Vorfahre von BST
- Linke Seitenansicht des Binärbaums
- Binärbaum, rechte Seitenansicht
- Modus in BST
- Summe der häufigsten Teilbäume
- Finden Sie das größte Element in jeder Zeile
- BT serialisieren und deserialisieren
Und viele andere Baumprobleme
Mathe
- Ganzzahliger Bruch
- Umkehrbits
- Palindromzahl
- Mathe.pow
- Krug- und Wasserproblem
- Sieb des Eratosthenes
- Fermats Primalität
- Bewerten Sie die umgekehrte polnische Notation
Stapeln und in die Warteschlange stellen
- Min. Stapel
- Min. Warteschlange
- Implementieren Sie den Stack mithilfe der Warteschlange
- Implementieren Sie die Warteschlange mithilfe des Stapels
- Stapel sortieren
Dynamische Programmierung
- Fibonacci-Zahlen
- Wortbruch
- Teilmengensumme
- 0/1 Rucksackproblem
- Kürzestes Palindrom (KMP)
- Minimale Quadratsumme
- Maximale Gewichtstransformation eines Strings
- Münzwechsel
Sonstiges
- Unionsfund
- Permutationen
- Teilmengen
Algorithmen
Sortieren und Suchen
- Blasensortierung
- Einfügungssortierung
- Auswahlsortierung
- Zählsortierung
- Binäre Suche, Unter- und Obergrenzen
- MergeSort
- QuickSort
Grafiken
- Breitensuche (BFS)
- Tiefensuche (DFS)
- Prims Minimum Spanning Tree (MST)
- KrusKals Minimum Spanning Tree (MST)
- Topologische Sortierung
- Kürzester Weg Dijsktra
- Kürzester Weg Bellman-Ford
- A* Heuristische Pfadfindung
- Ist der Graph zweiteilig
- Ist der Graph verbunden?
- Zykluserkennung
- Erkennung ungerichteter Graphbrücken
Zeichenfolge
- Rabin Karp Teilsequenzsuche
- Lösegeldschein
- String umkehren
- Längstes gemeinsames Präfix
- Ist Anagramm
- Nadel und Heuhaufen
- Wortbruch
- Meta-Strings
Datenstruktur:
Bäume
- Binärer Suchbaum (rekursiv)
- Binärer Suchbaum (iterativ)
- AVL-Baum
- Trie (Präfixbaum)
- Hash-Array-Baum
- LRU-Cache
Beitragen
Haben Sie einen Fehler gefunden? Gibt es eine Möglichkeit, es besser zu machen? Bitte zögern Sie nicht, es per Pull-Request anzufordern. :) :)