Liste von Algorithmen
# Liste von Algorithmen

Dies ist eine Liste von Artikeln zu Algorithmen in der deutschsprachigen Wikipedia. Siehe auch unter Datenstruktur für eine Liste von Datenstrukturen.

## Klassen von Algorithmen nach Komplexität

* Platzkomplexität
   * Linear platzbeschränkter Algorithmus
   * Logarithmisch platzbeschränkter Algorithmus
   * Polynomial platzbeschränkter Algorithmus
   * Exponentiell platzbeschränkter Algorithmus
* Zeitkomplexität
   * Linear zeitbeschränkter Algorithmus
   * Logarithmisch zeitbeschränkter Algorithmus
   * Polynomial zeitbeschränkter Algorithmus
   * Exponentiell zeitbeschränkter Algorithmus

## Klassen von Algorithmen nach Maschinenfähigkeiten

* Deterministischer Algorithmus
* Nicht-deterministischer Algorithmus
* Quantenmechanischer Algorithmus
* Randomisierter Algorithmus
   * Las-Vegas-Algorithmus
   * Monte-Carlo-Algorithmus
   * Latin-Hypercube-Algorithmus

## Klassen von Algorithmen nach Problemstellung

* Entscheidungsalgorithmus
* Optimierungsalgorithmus

## Klassen von Algorithmen nach Verfahren

* Approximationsalgorithmus
* Backtracking
* Dynamischer Algorithmus
* Evolutionärer Algorithmus
* Greedy-Algorithmus
* Probabilistischer Algorithmus
* Teile-und-herrsche-Verfahren

## Geometrie und Grafik

* Rasterung
* Rasterung von Linien
* Rasterung von Polygonen
* Rasterung von Kreisen
* Bresenham-Algorithmus
* De-Casteljau-Algorithmus
* Floodfill
* Marching Cubes
* Parabolic Blending
* Delaunay-Triangulierung
* Voronoi-Diagramm
* Algorithmen zur Berechnung der konvexen Hülle
   * QuickHull
   * Graham Scan
   * Gift-Wrapping-Algorithmus (Jarvis March)
   * Chans Algorithmus

## Graphentheorie

* Algorithmen für kürzester Pfad
   * A*-Algorithmus
   * Bellman-Ford-Algorithmus
   * Dijkstra-Algorithmus
   * Min-Plus-Matrixmultiplikations-Algorithmus
   * Algorithmus von Floyd und Warshall
   * Kürzeste-Wege-Algorithmen mit externem Speicher
* Spannbaum-Algorithmen (MST, minimal spanning tree)
   * Algorithmus von Kruskal
   * Algorithmus von Prim
   * Algorithmus von Borůvka
   * Algorithmus von Tarjan zur Bestimmung eines minimalen Spannbaumes
* Algorithmen zur Berechnung maximaler Flüsse in Netzwerken
   * Algorithmus von Ford und Fulkerson
   * Algorithmus von Edmonds und Karp
   * Algorithmus von Dinic
   * Goldberg-Tarjan-Algorithmus
* Algorithmen für das Steinerbaumproblem
   * KMB-Algorithmus
   * Algorithmus von Mehlhorn
   * Ameisenalgorithmen
   * Relativer Greedy-Algorithmus
   * Loss-Kontraktions-Algorithmus
* Suchen in Graphen:
   * Breitensuche
   * Tiefensuche, Iterative Tiefensuche
* Algorithmen für das Problem des Handlungsreisenden
   * Christofides-Heuristik
   * MST-Heuristik
   * Nächster-Nachbar-Heuristik
   * FARIN, NEARIN und RANDIN
   * Sukzessive Einbeziehung

## Kalenderrechnung

* Gaußsche Osterformel
* Spencers Osterformel
* Schaltjahr
* Zellers Kongruenz

## Bioinformatik

* BLAST-Algorithmus
* Center-Star-Algorithmus
* FASTA-Algorithmus
* Fitch-Algorithmus
* Needleman-Wunsch-Algorithmus
* Smith-Waterman-Algorithmus
* UPGMA

## Kompression

* Audiodatenkompression
* Entropiekodierung
   * Arithmetisches Kodieren
   * Shannon-Fano-Kodierung
   * Huffman-Kodierung
   * Tunstall-Kodierung
* Lauflängenkodierung
* LZ77
* Lempel-Ziv-Welch-Algorithmus (LZW)
* Deflate
* Sequitur
* Wavelet-Transformation

## Klassifikation

* Abstandsklassifikator
* Bayes-Klassifikator
* Clusterverfahren
* Entscheidungsbaum
* Fuzzy-Klassifikator
* Künstliches neuronales Netz
* Mahalanobis-Distanz-Klassifikator
* Multi-Layer Perzeptron
* Nächste-Nachbarn-Klassifikation
* Perzeptron
* Polynomklassifikator
* Quader-Klassifikator
* Radial-Basis-Funktionen
* Support-Vector-Maschinen

## Clusteranalyse

* DBSCAN – Density-Based Spatial Clustering of Applications with Noise
* EM-Algorithmus
* K-Means-Algorithmus
* OPTICS – Ordering Points To Identify the Clustering Structure

## Kryptographie

* Symmetrische Verschlüsselungsalgorithmen (Secret Key Kryptologiesysteme)
   * monoalphabetische Substitution
      * Verschiebechiffre
      * Atbash
      * Homophone Verschlüsselung
      * Polybios-Chiffre
      * Blockchiffren
         * Advanced Encryption Standard (AES, Rijndael)
         * Anubis
         * Blowfish
         * CAST
         * DES/3DES
         * IDEA
         * Magenta
         * MARS
         * MISTY1
         * Serpent
         * Skipjack
         * Twofish
      * Stromchiffren
         * A5/1, A5/2, A5/3 und A5/4
         * HC-256
         * Rabbit
         * RC4 – Ron's Code 4 (WEP Wired Equivalent Privacy für WLAN)
         * Salsa20
         * SEAL
         * SOSEMANUK
         * Trivium
   * Polyalphabetische Substitution
      * Vigenère-Chiffre
      * One-Time-Pad
      * Enigma
   * Transposition
* Asymmetrische Verschlüsselungsalgorithmen (Public Key Kryptologiesysteme)
   * RSA
   * Diffie-Hellman-Algorithmus
   * Elgamal-Verschlüsselungsverfahren
   * Rabin-Kryptosystem
   * GMR
   * Elliptic Curve Cryptography
* Hybridverfahren
* Spezielle Verschlüsselungsalgorithmen (Anwendungen)
   * CSS – Content Scramble System (DVD)
   * CSA – Common-Scrambling-Algorithmus (DVB für PayTV)

## Prüfsummenverfahren

* Adler-32
* Hamming-Code
* ZRP oder CRC – Zyklische Redundanzprüfung oder Cyclic Redundancy Check

## Numerik

* Siehe die Liste numerischer Verfahren.

## Sortieralgorithmen

* Binary Tree Sort
* Bogosort
* Bubblesort
* Bucketsort
* Combsort
* Countingsort
* Gnomesort
* Heapsort
* Hybridsort
* Insertionsort
* Introsort: Verbesserter Quicksort-Algorithmus, der auch im Worst Case eine Laufzeit von $O(n\log n)$ hat.
* Merge Insertion
* Mergesort
* Quicksort
* Radixsort
* Selectionsort
* Shakersort
* Shellsort
* Simplesort
* Slowsort
* Smoothsort
* Stoogesort
* Swap-Sort
* Timsort

## Suchalgorithmen

* für Listen / Arrays
   * Lineare Suche
   * Binäre Suche
   * Interpolationssuche
* für Graphen / Bäume
   * Breitensuche
   * Tiefensuche
      * Iterative Tiefensuche
   * A*-Suche
* für Text
   * Boyer-Moore-Algorithmus
   * Boyer-Moore-Horspool-Algorithmus
   * Knuth-Morris-Pratt-Algorithmus
   * Aho-Corasick-Algorithmus
   * PATRICIA-Trie
   * Rabin-Karp-Algorithmus
   * Suffixbaum
   * Sunday-Algorithmus
   * Skip-Search-Algorithmus
   * Shift-And-Algorithmus
* für Funktionsoptima (siehe dort)
* andere
   * Lazy Select – stochastischer Algorithmus
   * Intervallsuche, auch Interpolarsuche genannt, zur Suche durch Abschätzung der Position des gesuchten Elements

## Zahlentheoretische Algorithmen

* Euklidischer Algorithmus: Ermittlung des größten gemeinsamen Teilers (ggT) zweier natürlicher Zahlen A und B
* Sieb des Eratosthenes: Bestimmung aller Primzahlen kleiner oder gleich einer vorgegebenen Zahl
* CORDIC Algorithmus zur Berechnung elementarer trigonometrischer und hyperbolischen Funktionen
* Steinhaus-Johnson-Trotter-Algorithmus: Algorithmus zur Erzeugung aller möglichen Permutationen von $n$ Objekten, mittels Vertauschung von Elementen
* Heap-Algorithmus: Algorithmus zur Erzeugung aller möglichen Permutationen von $n$ Objekten, mittels optimierter Vertauschung von Elementen

## Lineare Algebra

* Gaußsches Eliminationsverfahren: Lösung eines linearen Gleichungssystems
* Gauß-Jordan-Algorithmus: Lösung eines linearen Gleichungssystems

## Computeralgebra

* Berlekamp-Algorithmus: Faktorisierung von Polynomen über endlichen Körpern

## Taktik- und Strategiespiele

* Minimax-Algorithmus
* Alpha-Beta-Suche
* Proof-Number-Suche

## Sonstige Algorithmen

* Binäre Exponentiation
* Extraktionsalgorithmus nach Luhn
* Zassenhaus-Algorithmus, Lineare Algebra
* Epidemischer Algorithmus
* Local Outlier Factor (Data-Mining – Ausreißererkennung)
* Quickselect
* Ungarische Methode
