Video: Eigenschaften von Algorithmen erkennen: Typische Aufgabe - Algorithmen 4 ● Gehe auf SIMPLECLUB.DE/GO 2024
Teil der Algorithmen für Dummies Cheat Sheet
Die folgende Tabelle beschreibt Algorithmen und Algorithmen, die für verschiedene Arten der Datenanalyse nützlich sein könnten. (Sie können Diskussionen über all diese Algorithmen in Algorithmen für Dummies finden.)
Algorithmus | Beschreibung | Hilfreiche Verknüpfung |
A * Suche | Der Algorithmus verfolgt die Kosten von Knoten, während sie sie unter Verwendung der Gleichung: f (n) = g (n) + h (n), wobei:
n ist der Knotenidentifikator g (n) sind die Kosten für das Erreichen des Knotens, soweit h (n) die geschätzten Kosten sind, um den Ziel vom Knoten f (n) sind die geschätzten Kosten des Pfades von n zum Ziel Die Idee ist, zuerst die aussichtsreichsten Pfade zu suchen und teure Pfade zu vermeiden. |
Standford. edu |
Balanced Tree | Eine Baumart, die durch Reorganisation eine ausgeglichene Struktur beibehält, so dass sie reduzierte Zugriffszeiten bietet. Die Anzahl der Elemente auf der linken Seite unterscheidet sich von der Zahl auf der rechten Seite höchstens um eins. | Webdocs |
Bidirektionale Suche | Diese Technik durchsucht gleichzeitig den Wurzelknoten und den Zielknoten, bis sich die beiden Suchpfade in der Mitte treffen. Ein Vorteil dieses Ansatzes ist, dass es zeiteffizient ist, weil es die Lösung schneller findet als viele andere Brute-Force-Lösungen. Darüber hinaus nutzt es Speicher effizienter als andere Ansätze und findet immer eine Lösung. Der Hauptnachteil ist die Komplexität der Implementierung. | Planung. cs |
Binärbaum | Dies ist ein Baumtyp, der Knoten enthält, die mit Null (Blattknoten), einem oder zwei (Zweigknoten) anderen Knoten verbunden sind. Jeder Knoten definiert die drei Elemente, die er enthalten muss, um Konnektivität bereitzustellen und Daten zu speichern: Datenspeicherung, Linksverbindung und richtige Verbindung. | cs. cmu. edu |
Breadth-First Search | Diese Technik beginnt am Wurzelknoten, erforscht zuerst jeden der untergeordneten Knoten und bewegt sich dann erst auf die nächste Ebene. Es schreitet Stufe um Stufe fort, bis es eine Lösung findet. Der Nachteil dieses Algorithmus besteht darin, dass er jeden Knoten im Speicher ablegen muss, was bedeutet, dass er eine beträchtliche Menge an Speicher für eine große Anzahl von Knoten verwendet. Diese Technik kann nach doppelten Knoten suchen, was Zeit spart, und es wird immer eine Lösung gefunden. | Khan Academie |
Brute Force | Dies ist eine Technik der Problemlösung, bei der jemand jede mögliche Lösung ausprobiert und nach der besten Problemlösung sucht. Brute-Force-Techniken garantieren eine Best-Fit-Lösung, wenn sie existiert, aber so zeitaufwendig zu implementieren sind, dass die meisten Leute sie vermeiden. | Igm. univ |
Depth-First Search | Diese Technik beginnt am Wurzelknoten und untersucht einen Satz verbundener untergeordneter Knoten bis zu einem Blattknoten. Es schreitet Zweig für Zweig fort, bis es eine Lösung findet. Der Nachteil dieses Algorithmus besteht darin, dass er nicht nach doppelten Knoten suchen kann, was bedeutet, dass er die gleichen Knotenpfade mehr als einmal durchlaufen kann. In der Tat kann dieser Algorithmus überhaupt keine Lösung finden, was bedeutet, dass Sie einen Abschneidepunkt definieren müssen, um den Algorithmus davon abzuhalten, unendlich zu suchen. Ein Vorteil dieses Ansatzes ist, dass es speichereffizient ist. | Hacker Erde |
Teilen und erobern | Dies ist eine Technik der Problemlösung, bei der das Problem in möglichst kleine Teile zerlegt und mit dem einfachsten Ansatz gelöst wird. Diese Technik spart im Vergleich zu anderen Ansätzen, wie zum Beispiel Brute-Force, beträchtliche Zeit und Ressourcen. Es garantiert jedoch nicht immer ein optimales Ergebnis. | Khan Academy |
Dijikstra | Dies ist ein Algorithmus, der verwendet wird, um den kürzesten Pfad in einem gerichteten, gewichteten Graphen (mit positiven Gewichten) zu finden. | Geeks für Geeks |
Graph | Ein Graph ist eine Art Baumerweiterung. Wie bei Bäumen haben Sie Knoten, die miteinander verbunden sind, um Beziehungen zu erstellen. Im Gegensatz zu binären Bäumen kann ein Graph jedoch mehr als eine oder zwei Verbindungen haben. In der Tat haben Graphenknoten oft eine Vielzahl von Verbindungen. Sie sehen Diagramme, die an Orten wie Karten für GPS und allen möglichen anderen Orten verwendet werden, für die der Top-Down-Ansatz eines Baums nicht funktioniert. | Tutorials |
Gierige Algorithmen | Diese Technik ist eine der Problemlösungen, bei der die Lösung für jeden Schritt des Problemlösungsprozesses auf die beste Antwort angewiesen ist. Gierige Algorithmen machen im Allgemeinen zwei Annahmen:
Es ist möglich, in einem bestimmten Schritt eine optimale Auswahl zu treffen. Durch die Auswahl der optimalen Auswahl bei jedem Schritt ist es möglich, eine optimale Lösung für das Gesamtproblem zu finden. |
Tutorials |
Gierige Best-First-Suche (BFS) | Der Algorithmus wählt immer den Pfad, der dem Ziel am nächsten ist, mit der Gleichung: f (n) = h (n). Dieser spezielle Algorithmus kann Lösungen recht schnell finden, aber er kann auch in Schleifen stecken bleiben, daher halten ihn viele Leute nicht für einen optimalen Ansatz, um eine Lösung zu finden. | Centurion2 |
Hashing | Dies ist eine Methode, um die Position eines bestimmten Datenelements in der Datenstruktur vorherzusagen (was auch immer diese Struktur sein mag), bevor sie tatsächlich gesucht wird. Dieser Ansatz beruht auf der Verwendung von Schlüsseln, die in einem Index platziert sind. Eine Hashfunktion verwandelt den Schlüssel in einen numerischen Wert, den der Algorithmus in einer Hashtabelle platziert. Eine Hash-Tabelle bietet die Möglichkeit, einen Index zu erstellen, der auf Elemente in einer Datenstruktur verweist, sodass ein Algorithmus den Speicherort der Daten leicht vorhersagen kann. | Tutorials |
Heap | Dies ist ein komplexer Baum, der das Einfügen von Daten in die Baumstruktur ermöglicht. Die Verwendung der Dateneinfügung macht das Sortieren schneller. Sie können diese Bäume außerdem als Max-Heaps und Min-Heaps klassifizieren, je nachdem, ob der Baum sofort den im Baum vorhandenen Maximal- oder Minimalwert bereitstellen kann. | Tutorials |
Heuristik | Dies ist eine Technik zur Problemlösung, die auf Selbsterkennung beruht und ausreichend nützliche Ergebnisse liefert (nicht unbedingt optimal, aber gut genug), um ein Problem so zu lösen, dass eine bessere Lösung nicht t notwendig. Self-Discovery ist der Prozess, der es dem Algorithmus ermöglicht, Ihnen einen potenziell nützlichen Pfad zu einer Lösung zu zeigen (aber Sie müssen dennoch auf menschliche Intuition und Verständnis zählen, um zu wissen, ob die Lösung die richtige ist). | Nordwesten. edu |
MapReduce | Dies ist ein Framework, mit dem Algorithmen unter Verwendung von parallelen Berechnungen (unter Verwendung mehrerer in einem Netzwerk miteinander verbundener Computer) arbeiten können, wodurch Algorithmen ihre Lösungen schneller vervollständigen können. | Hadoop Apache |
Mergesort | Mergesort ist eine allgemeine, vergleichende Methode zum Sortieren von Daten. Es hängt von einem divide-and-conquer-Ansatz zur Ausführung seiner Aufgabe ab. | Geeks für Geeks |
Nash Equilibrium | Dies ist eine Spieltheorie, in der die anderen Spieler die Gleichgewichtsstrategie für die anderen Spieler kennen, so dass niemand etwas gewinnen kann, wenn er seine persönliche Strategie ändert. Diese Theorie sieht den Gebrauch in jeder feindseligen Situation vor, in der der Spieler die Entscheidungen aller anderen Spieler berücksichtigen muss, um das Spiel zu gewinnen. | Khan Academy |
PageRank | PageRank ist ein Algorithmus zur Messung der Wichtigkeit eines Knotens in einem Graphen. Dieser Algorithmus ist die Wurzel der Google-Kernalgorithmen, um den Nutzern relevante Suchanfragen zur Verfügung zu stellen. | Princeton. edu |
Reinheuristische Suche | Dieser Algorithmus erweitert Knoten in der Reihenfolge ihrer Kosten. Es verwaltet zwei Listen. Die geschlossene Liste enthält die Knoten, die sie bereits exploriert hat, und die offene Liste enthält die Knoten, die sie noch erkunden muss. In jeder Iteration erweitert der Algorithmus den Knoten mit den niedrigstmöglichen Kosten. Alle untergeordneten Knoten werden in die geschlossene Liste aufgenommen und die Kosten für die einzelnen untergeordneten Knoten werden berechnet. Der Algorithmus sendet die untergeordneten Knoten mit niedrigen Kosten zurück zur offenen Liste und löscht die untergeordneten Knoten mit hohen Kosten. Folglich führt der Algorithmus eine intelligente, kostenbasierte Suche nach der Lösung durch. | World of Computing |
Quicksort | Dies ist eine allgemeine Sortierstrategie, die auf der Partitionierung von Arrays von Daten in kleinere Arrays basiert. Es hängt von einem divide-and-conquer-Ansatz zur Ausführung seiner Aufgabe ab. | Tutorials |
Unausgeglichener Baum | Dies ist ein Baum, der neue Datenelemente an einen beliebigen Ort im Baum platziert, ohne dass das Gleichgewicht berücksichtigt wird. Diese Methode zum Hinzufügen von Elementen macht den Aufbau des Baums schneller, verringert jedoch die Zugriffsgeschwindigkeit beim Suchen oder Sortieren. | Quora |