Hauptinhalt
Lerneinheit: Algorithmen
Über diese Lektion
Wir haben haben uns mit den Professoren Tom Cormen und Devin Balkcom vom Dartmouth College zusammengetan um eine Einführung in die Algorithmen-Theorie inklusive Suchalgorithmen, Sortierung, Rekursion und Graphentheorie zu lehren. Lerne durch eine Kombination aus Artikeln, grafischen Darstellungen, Übungsaufgaben und Programmierchallenges.Was sind Algorithmen und warum sollten sie uns interessieren? Wir beginnen mit einem Überblick über Algorithmen und betrachten anschließend zwei Spiele, mit denen man einen Algorithmus effizienter lösen kann - ein Ratespiel mit Nummern und ein Routensuche-Spiel.
Lerne die Binärsuche kennen. Sie ist eine effiziente Methode um ein Array von Elementen zu durchsuchen indem der Suchraum jedes Mal halbiert wird.
Lerne wie man die asymptotische Analyse verwendet um die Effizienz eines Algorithmus zu beschreiben und wie die asymptotische Notation (O-Symbol, Theta und Omega) verwendet wird um die Effizient genauer zu beschreiben.
Lerne Selektionssortierung, ein einfacher Algorithmus zum Sortieren eines Arrays, und sieh, warum er nicht der effizienteste Algorithmus ist.
Lerne
Lerne Insertionsort, einen weiteren (aber nicht sehr effizienten) Algorithmus, um ein Array von Werten zu sortieren.
Erlerne das Konzept der Rekursion, einer Technik, welche häufig in Algorithmen verwendet wird. Du lernst wie man die Rekursion zum Berechnen der Fakultät und Potenzen einer Zahl und für das generieren von Kunstwerken verwendet.
Lerne
Verwende Rekursive Techniken um die Türme von Hanoi, ein klassisches mathematisches Puzzle, zu lösen.
Lerne Mergesort, einen effizienteren Sortieralgorithmus, der stark auf Rekursion aufbaut, um Sub-Arrays wiederholt zu sortieren und wieder zusammenzuführen.
Lerne Quicksort, einen weiteren effizienten Sortieralgorithmus, der Rekursion verwenden, um ein Array von Werten schneller zu sortieren.
Lerne wie man Graphen mit ihren Kanten, Knoten und Gewichten beschreibt und lerne verschiedene Möglichkeiten kennen wie man Graphen mit Kantenlisten Adjazenzmatrizen und Adjazenzlisten speichert.
Lerne wie man mit der Breitensuche einen Graphen durchläuft, indem man immer nur eine Ebene besucht, um einen bestimmten Knoten zu finden oder sicherzustellen, dass alle Knoten besucht wurden.
Vorschläge wie du deine Reise in die Welt der Algorithmen fortsetzen kannst.