Dieser Online-Kurs behandelt grundlegende algorithmische Techniken und Ideen für Berechnungsprobleme, die in der Praxis häufig auftreten: Sortieren und Suchen, Teilen und Überwinden, gierige Algorithmen, dynamische Programmierung. Wir werden viel Theorie lernen: wie man Daten sortiert und wie das bei der Suche hilft; wie man ein großes Problem in Teile zerlegt und diese rekursiv löst; wann es sinnvoll ist, gierig vorzugehen; wie dynamische Programmierung in genomischen Studien eingesetzt wird. Sie werden sich darin üben, Rechenprobleme zu lösen, neue Algorithmen zu entwerfen und Lösungen effizient zu implementieren (so dass sie in weniger als einer Sekunde ausgeführt werden).
Algorithmische Toolbox
Dieser Kurs ist Teil von Spezialisierung Datenstrukturen und Algorithmen
Dozenten: Neil Rhodes
534.470 bereits angemeldet
Bei enthalten
(12,454 Bewertungen)
Was Sie lernen werden
Wesentliche algorithmische Techniken
Effiziente Algorithmen entwerfen
Üben Sie das Lösen von algorithmischen Interviewaufgaben
Implementieren Sie effiziente und zuverlässige Lösungen
Kompetenzen, die Sie erwerben
- Kategorie: Software-Tests
- Kategorie: Computerprogrammierung
- Kategorie: Algorithmen
- Kategorie: Fehlersuche
- Kategorie: Dynamische Programmierung
Wichtige Details
Zu Ihrem LinkedIn-Profil hinzufügen
25 Aufgaben
Erfahren Sie, wie Mitarbeiter führender Unternehmen gefragte Kompetenzen erwerben.
Erweitern Sie Ihre Fachkenntnisse
- Lernen Sie neue Konzepte von Branchenexperten
- Gewinnen Sie ein Grundverständnis bestimmter Themen oder Tools
- Erwerben Sie berufsrelevante Kompetenzen durch praktische Projekte
- Erwerben Sie ein Berufszertifikat zur Vorlage
Erwerben Sie ein Karrierezertifikat.
Fügen Sie diese Qualifikation zur Ihrem LinkedIn-Profil oder Ihrem Lebenslauf hinzu.
Teilen Sie es in den sozialen Medien und in Ihrer Leistungsbeurteilung.
In diesem Kurs gibt es 6 Module
Willkommen zum ersten Modul von Datenstrukturen und Algorithmen! Hier geben wir Ihnen einen Überblick darüber, wo Algorithmen und Datenstrukturen verwendet werden (Hinweis: überall) und führen Sie durch ein paar Beispielprogrammieraufgaben. Die Programmieraufgaben sind ein wichtiger (und oft der schwierigste!) Teil dieser Spezialisierung, denn die einzige Möglichkeit, einen Algorithmus vollständig zu verstehen, ist seine Implementierung. Es ist nicht einfach, korrekte und effiziente Programme zu schreiben. Seien Sie also nicht überrascht, wenn sie nicht so funktionieren, wie Sie es geplant haben - unsere ersten Programme haben auch nicht funktioniert! Wir werden Ihnen auf Ihrer Reise durch die Spezialisierung helfen, indem wir Ihnen zeigen, wie Sie Ihre ersten Programmieraufgaben implementieren. Außerdem stellen wir Ihnen Testtechniken vor, mit denen Sie Ihre Chancen erhöhen, die Aufgaben beim ersten Versuch zu bestehen. Falls Ihr Programm nicht wie vorgesehen funktioniert, zeigen wir Ihnen, wie Sie es reparieren können, auch wenn Sie noch nicht wissen, an welchem Test Ihre Implementierung scheitert.
Das ist alles enthalten
6 Videos8 Lektüren1 Aufgabe2 Programmieraufgaben
In diesem Modul lernen Sie, dass Programme, die auf effizienten Algorithmen basieren, das gleiche Problem milliardenfach schneller lösen können als Programme, die auf naiven Algorithmen basieren. Sie werden lernen, wie Sie die Laufzeit und den Speicherbedarf eines Algorithmus abschätzen können, ohne ihn überhaupt zu implementieren. Mit diesem Wissen werden Sie in der Lage sein, verschiedene Algorithmen zu vergleichen, die effizientesten auszuwählen und sie schließlich als unsere Programmieraufgaben zu implementieren!
Das ist alles enthalten
12 Videos4 Lektüren3 Aufgaben1 Programmieraufgabe1 Unbewertetes Labor
In diesem Modul lernen Sie eine scheinbar naive, aber leistungsstarke Klasse von Algorithmen kennen, die gierigen Algorithmen. Nachdem Sie die Schlüsselidee hinter den gierigen Algorithmen kennengelernt haben, werden Sie vielleicht das Gefühl haben, dass sie das algorithmische Schweizer Taschenmesser darstellen, mit dem Sie fast alle Programmieraufgaben in diesem Kurs lösen können. Aber seien Sie gewarnt: Abgesehen von einigen Ausnahmen, die wir behandeln werden, funktioniert diese intuitive Idee in der Praxis nur selten! Aus diesem Grund ist es wichtig zu beweisen, dass ein gieriger Algorithmus immer eine optimale Lösung liefert, bevor Sie diesen Algorithmus verwenden. Am Ende dieses Moduls werden wir Ihre Intuition und Ihre Vorliebe für gierige Algorithmen testen, indem wir Ihnen mehrere Programmieraufgaben stellen.
Das ist alles enthalten
10 Videos9 Lektüren5 Aufgaben1 Programmieraufgabe
In diesem Modul lernen Sie eine leistungsstarke algorithmische Technik kennen, die Divide et Conquer genannt wird. Auf der Grundlage dieser Technik werden Sie sehen, wie Sie riesige Datenbanken millionenfach schneller durchsuchen können als mit einer naiven linearen Suche. Sie werden sogar erfahren, dass die Standardmethode zum Multiplizieren von Zahlen (die Sie in der Grundschule gelernt haben) bei weitem nicht die schnellste ist! Anschließend werden wir die Divide-and-Conquer-Technik anwenden, um zwei effiziente Algorithmen (Merge Sort und Quick Sort) für die Sortierung großer Listen zu entwerfen, ein Problem, das in der Praxis viele Anwendungen findet. Schließlich werden wir zeigen, dass diese beiden Algorithmen optimal sind, d.h. kein Algorithmus kann schneller sortieren!
Das ist alles enthalten
20 Videos5 Lektüren8 Aufgaben1 Programmieraufgabe
In diesem letzten Modul des Kurses lernen Sie die leistungsstarke algorithmische Technik zur Lösung vieler Optimierungsprobleme kennen, die Dynamische Programmierung. Es hat sich herausgestellt, dass die dynamische Programmierung viele Probleme lösen kann, die sich allen Versuchen entziehen, sie mit einer gierigen oder einer Divide-and-Conquer-Strategie zu lösen. In der Praxis gibt es unzählige Anwendungen der dynamischen Programmierung: von der Maximierung der Werbeeinnahmen eines Fernsehsenders über die Suche nach ähnlichen Internetseiten bis hin zur Gensuche (das Problem, bei dem Biologen die minimale Anzahl von Mutationen finden müssen, um ein Gen in ein anderes zu verwandeln). Sie werden erfahren, wie dieselbe Idee dabei hilft, automatisch Rechtschreibkorrekturen vorzunehmen und die Unterschiede zwischen zwei Versionen desselben Textes aufzuzeigen.
Das ist alles enthalten
4 Videos2 Lektüren6 Aufgaben1 Programmieraufgabe
In diesem Modul üben wir weiterhin die Implementierung von Lösungen für die dynamische Programmierung.
Das ist alles enthalten
8 Videos2 Lektüren2 Aufgaben1 Programmieraufgabe
Dozenten
Empfohlen, wenn Sie sich für Algorithmen interessieren
Rice University
Stanford University
Coursera Instructor Network
University of Colorado System
Warum entscheiden sich Menschen für Coursera für ihre Karriere?
Bewertungen von Lernenden
Zeigt 3 von 12454
12.454 Bewertungen
- 5 stars
71,85 %
- 4 stars
21,48 %
- 3 stars
4,20 %
- 2 stars
1,04 %
- 1 star
1,40 %
Geprüft am 2. Juli 2020
Geprüft am 14. Aug. 2020
Geprüft am 9. Feb. 2019
Neue Karrieremöglichkeiten mit Coursera Plus
Unbegrenzter Zugang zu über 7.000 erstklassigen Kursen, praktischen Projekten und Zertifikatsprogrammen, die Sie auf den Beruf vorbereiten – alles in Ihrem Abonnement enthalten
Bringen Sie Ihre Karriere mit einem Online-Abschluss voran.
Erwerben Sie einen Abschluss von erstklassigen Universitäten – 100 % online
Schließen Sie sich mehr als 3.400 Unternehmen in aller Welt an, die sich für Coursera for Business entschieden haben.
Schulen Sie Ihre Mitarbeiter*innen, um sich in der digitalen Wirtschaft zu behaupten.
Häufig gestellte Fragen
Der Zugang zu Vorlesungen und Aufgaben hängt von der Art Ihrer Einschreibung ab. Wenn Sie einen Kurs im Prüfungsmodus belegen, können Sie die meisten Kursmaterialien kostenlos einsehen. Um auf benotete Aufgaben zuzugreifen und ein Zertifikat zu erwerben, müssen Sie die Zertifikatserfahrung während oder nach Ihrer Prüfung erwerben. Wenn Sie die Prüfungsoption nicht sehen:
Der Kurs bietet möglicherweise keine Prüfungsoption. Sie können stattdessen eine kostenlose Testversion ausprobieren oder finanzielle Unterstützung beantragen.
Der Kurs bietet möglicherweise stattdessen die Option 'Vollständiger Kurs, kein Zertifikat'. Mit dieser Option können Sie alle Kursmaterialien einsehen, die erforderlichen Bewertungen abgeben und eine Abschlussnote erhalten. Dies bedeutet auch, dass Sie kein Zertifikat erwerben können.
Wenn Sie sich für den Kurs einschreiben, erhalten Sie Zugang zu allen Kursen der Specializations, und Sie erhalten ein Zertifikat, wenn Sie die Arbeit abgeschlossen haben. Ihr elektronisches Zertifikat wird Ihrer Erfolgsseite hinzugefügt - von dort aus können Sie Ihr Zertifikat ausdrucken oder zu Ihrem LinkedIn-Profil hinzufügen. Wenn Sie die Kursinhalte nur lesen und ansehen möchten, können Sie den Kurs kostenlos besuchen.
Wenn Sie ein Abonnement abgeschlossen haben, erhalten Sie eine kostenlose 7-tägige Testphase, in der Sie kostenlos kündigen können. Danach gewähren wir keine Rückerstattung, aber Sie können Ihr Abonnement jederzeit kündigen. Siehe unsere vollständigen Rückerstattungsbedingungen.