Die Algorithmen - C#
Alle in C# implementierten Algorithmen für Bildungszwecke
Das Repository ist eine Sammlung einer Vielzahl von Algorithmen, die in C#implementiert sind. Die Algorithmen umfassen eine Vielzahl von Themen aus Informatik, Mathematik und Statistiken, Datenwissenschaft, maschinellem Lernen, Engineering usw. Die Implementierungen und ihre zugehörigen Dokumentationen sollen Pädagogen und Schülern eine Lernressource bieten. Daher kann man mehr als eine Implementierung für dasselbe Objektiv finden, jedoch unterschiedliche Algorithmusstrategien und Optimierungen verwenden.
Liste der Algorithmen
Algorithmen
- Krypto
- Paddings
- ISO 10125-2 Polsterung
- ISO 7816-4 Polsterung
- X9.32 Polsterung
- TBC -Polsterung
- PKCS7 Padding
- Verdauung
- Ascon Hash Digest
- MD2 Digest
- Datenkomprimierung
- Burrows-Wheeler-Transformation
- Huffman -Kompressor
- Shannon-Fano-Kompressor
- Encoder
- Caesar
- Viierene
- Hügel
- Nysiis
- Soundex
- Feistel
- Blowfish
- Graph
- Minimum Spanning Tree
- Prims Algorithmus (Adjazenzmatrix)
- Kruskals Algorithmus
- BRAITHFIRSTTREETRAVERSAL
- BreadthfirstSearch
- Tiefenforschung
- Dijkstra kürzester Weg
- Floydwarshall
- Kosaraju
- Rucksackproblem
- Naiver Löser
- Dynamischer Programmierlöser
- Zweig und gebundener Löser
- IHEURISTICKNAPSACKSOLVER
- Lineare Algebra
- Entfernungen
- Chebyshev
- Euklidisch
- Manhattan
- Minkowski
- Eigenwert
- Modulare Arithmetik
- Chinesischer Rest Satz
- Erweiterter euklidischer Algorithmus
- Modulare multiplikative Inverse
- Numerisch
- Absolute
- Zugabe ohne Arithmetik
- Aliquot -Summenrechner
- Ganzweise Nummernprüfung
- Ceil
- Zersetzung
- LU -Zersetzung
- Dünne einzigartige Vektor -Zersetzung
- Boden
- Größter gemeinsamer Divisor
- Euklidische GCD
- Binärer GCD
- Faktorisierung
- Versuchsteilungsfaktorisierung
- Modulare Exponentiation
- Serie
- Gauß-Jordanische Eliminierung
- BinomialCoeffiction
- Fakultät
- Keith Number Checker
- Pseudoinversen
- Narzisstische Zahlenprüfung
- Perfekter Würfelprüfer
- Perfekte Nummernprüfung
- Perfekter Quadratcheck
- Euler -Methode
- Klassische Runge-Kutta-Methode
- MILLER-RABIN-Primalitätsprüfung
- Krishnamurthynumberchecker
- Automatische Nummer
- Josephus Problem
- Newtons Quadratwurzelberechnung
- Softmax -Funktion
- Empfehlungssystem
- Suchanfragen
- A-Star
- Binäre Suche
- Boyermoore -Suche
- Schnelle Suche
- Fibonacci -Suche
- Interpolationssuche
- Sprungsuche
- Lineare Suche
- Rekursive binäre Suche
- Sorts
- Vergleich
- Binärinsertionsart
- Bogo Sort
- Blasenart
- Cocktail -Sortierung
- Kammsart
- Zyklusart
- Austauschart
- Haufensart
- Insertion -Sortierung
- Sortierung zusammenführen
- Pfannkuchen -Sort
- Schnelle Sortierung
- Median von drei Drehungen
- Mittelpunkt Pivot
- Zufälliger Drehpunkt
- Auswahlsart
- Shell -Sortierung
- Tim Art
- Vereinfachte Tim -Sortierung
- Extern
- Sortierung zusammenführen
- Ganze Zahl
- Zählsart
- Eimer -Sort
- Radix -Sortierung
- Saite
- Mischler
- Sequenzen
- A000002 Kolakoski
- A000004 Null
- A000005 Graf von Divisors
- A000008 ändert sich
- A000010 Eulers Totient
- A000012 alle
- A000027 Natural
- A000032 Lucas -Zahlen
- A000040 Primes
- A000045 Fibonacci
- A000079 Kräfte von 2
- A000108 Katalanisch
- A000120 1 Zählung
- A000124 Zentrale polygonale Zahlen
- A000125 Kuchennummern
- A000142 Faktor
- A000213 Tribonacci -Zahlen
- A000215 Fermat -Zahlen
- A000288 Tetranacci -Zahlen
- A000290 Quadrate
- A000292 Tetraedrische Zahlen
- A000578 Würfel
- A000720 Primepi
- A001146 Anzahl der Booleschen Funktionen
- A001462 Golombs
- A001478 Negative Ganzzahlen
- A002110 Primorialnummern
- A002717 Matchstick -Dreieck -Anordnung
- A005132 Recaman's
- A006577 Anzahl der 3N+1 -Schritte, um 1 zu erreichen
- A006862 Euklidzahlen
- A006879 Anzahl der Primzahlen nach Anzahl der Ziffern
- A006880 Anzahl der Primzahlen durch Kräfte von 10
- A007318 Binomial
- A007395 Alle zwei
- A010051 Binäre Prime Constant
- A010701 Alle Dreier
- A011557 Mächte von 10
- A057588 Kummer Nummern
- A019434 Fermat Primes
- A181391 Van Eck's
- Stapel
- Nächstes größeres Element
- Ausgeglichener Klammern
- Reverse Stack
- Saite
- Ähnlichkeit
- Kosinusähnlichkeit
- Dameraau-Levenshtein-Entfernung
- Hamming -Distanz
- Jaro Ähnlichkeit
- Jaro-Winkler-Entfernung
- Optimale String -Ausrichtung
- Musteranpassung
- Bitop -Muster Matching
- Naive String -Suche
- Rabin Karp
- Boyer Moore
- Knuth -Morris -Pratt -Suche
- Wildcard -Muster Matching
- Z-Block-Substring-Suche
- Längste aufeinanderfolgende Charakter
- Palindrome Checker
- Holen Sie sich alle Permutationen einer Saite
- Andere
- Fermat Prime Checker
- Sieb von Eratosthenes
- Luhn
- Int2Binary
- Geolokalisierung
- Mandelbrot
- Koch Snowflake
- RGB-HSV-Konvertierung
- Überschwemmungsfüllung
- Pareto -Optimierung
- Gauß -Optimierung
- Entscheidungen Konvolutionen
- Welfords Varianz
- Julian Ostern
- Pollards Rho
- Geolocation Hash
- Geofencing
- Triangulationsalgorithmus
- Probleme
- Stabile Ehe
- Sturmform
- Akzente
- Antragsteller
- N-Queens
- Dynamische Programmierung
- Münzwechsel
- Levenshtein Distanz
Datenstrukturen
- Bit -Array
- Zeitleiste
- Segmentbäume
- Segmentbaum
- Segmentbaummultiplikation
- Segmentbaum -Update
- Binärer Suchbaum
- Sündenbaum
- Fenwick Tree (oder binär indiziertes Baum)
- Aa Baum
- Avlbaum
- Rotschwarzer Baum
- Stapel
- Array-basierter Stack
- Listenbasierte Stack
- Warteschlangenbasis Stack
- Haufen
- Min-Max-Haufen
- Binärhaufen
- Fibonacci Heap
- Pairing Heap
- Probabilistisch
- Bloomfilter
- Graf-min-Skizze
- Hyperloglog
- Warteschlange
- Array-basierte Warteschlange
- Listenbasierte Warteschlange
- Stapelbasierte Warteschlange
- Verlinkte Liste
- Einzig verknüpfte Liste
- Doppelt verknüpfte Liste
- Liste überspringen
- Rundschreiben verknüpfte Liste
- Graph
- Regiegewichtete Grafik über die Adjazenzmatrix
- Disjunkt SET
- Sortierte Liste
- Umgekehrter Index
- Ausrollte verknüpfte Liste
- Versuche
- Hashtable
- Cache
- Am wenigsten häufig verwendeten (LFU) Cache
- Am wenigsten verwendet (LRU) Cache
Projektupdate: .NET 8 Migration
Im Rahmen unserer kontinuierlichen Bemühungen, über die neuesten Technologien auf dem Laufenden zu bleiben, haben wir unser Projekt auf .NET 8 migriert. Dieses Upgrade verbessert unser Projekt mit den neuesten Funktionen und Verbesserungen des .NET-Ökosystems.
Neue Anforderungen
- Um dieses Projekt zu erstellen und auszuführen, ist jetzt .NET 8 SDK erforderlich.
- Stellen Sie sicher, dass Ihre Entwicklungstools mit .NET 8 kompatibel sind.
Aufbau des Projekts
- Wenn .NET 8 SDK installiert ist, können Sie das Projekt mit dem Standard
dotnet build -Befehl erstellen. - Alle vorhandenen Build -Skripte wurden aktualisiert, um den SDK .NET 8 SDK aufzunehmen.
Auslauftests
- Unsere umfassende Suite von Unit -Tests gewährleistet die Kompatibilität mit .NET 8.
- Führen Sie Tests wie gewohnt mit dem Befehl
dotnet test aus.
Beitragen
Sie können mit Vergnügen zu diesem Repository beitragen. Bitte orientieren Sie die Verzeichnisstruktur und den Gesamtcode -Stil dieses Repositorys und finden Sie in unseren beitragenden Richtlinien für weitere Informationen. Wenn Sie eine Frage stellen oder etwas vorschlagen möchten, öffnen Sie bitte ein Problem.