Online
Tipps und Tricks zum Einsatz der richtigen Algorithmen und Datenstrukturen mit Python (und Java)
Im Rahmen dieses Workshops möchten wir in die Kunst der Optimierung einsteigen und lernen, wie Aufgabenstellungen durch den Einsatz cleverer Techniken und geeigneter Datenstrukturen effizienter und leistungsfähiger gelöst werden können. Dabei werden grundlegende theoretische aber vor allem auch praktische Aspekte vermittelt, sodass die Teilnehmer:innen nach dem Workshop in der Lage sind, geeignete Algorithmen und Datenstrukturen mit Python (oder Java) clever und gewinnbringend umzusetzen und ihre Programme noch schneller und speichereffizienter zu machen.
Agenda
In diesem interaktiven Workshop behandeln wir mehrere Schlüsseltechniken der Optimierung von Algorithmen und zeigen, wie diese in Python (oder Java) umgesetzt werden können.
Einstieg und Big-OWir lernen ein paar theoretische Grundlagen zu Optimierungen kennen und insbesondere auch den Einfluss der Menge zu verarbeitenden Daten.
Berechnungen Pair SumAm Beispiel einfacher Berechnungen, die oftmals quadratische Laufzeit besitzen, lernen wir, die Optimierungen «Two-Pointers», «HashMap» und «Sortierung» kennen.
Prefix-SummenDie Prefixsummen-Technik ermöglicht extrem schnelle Berechnungen auf kumulierten Werten in Arrays bzw. Listen. Dies ist eine essenzielle Methode, um Probleme wie das Berechnen von Teilsummen oder das Lösen von Bereichsproblemen effizient zu lösen.
Rekursion und MemoizationRekursion erlaubt es, Probleme elegant zu lösen. Zum Einstieg lernen wir den Vorteil durch Sortierung kennen und implementieren die klassische Binärsuche, einmal rekursiv und iterativ. Als Schmankerl schauen wir uns die Varianten «Lower und Upper Binary Search» zum Finden des ersten und letzten Werts bei mehreren gleichen Werten an. Die Eleganz von Rekursion kommt allerdings in der Praxis oftmals mit dem unschönen Nebeneffekt einer langen Laufzeit, etwa bei der Berechnung von Fibonacci-Zahlen. Als Abhilfe lernen wir Memoization als Technik kennen, die Zwischenergebnisse speichert, um wiederholte Berechnungen zu vermeiden. Damit lassen sich dramatische Performance-Verbesserungen erzielen.
Sortieralgorithmen Eine sorgfältige Auswahl des richtigen Sortieralgorithmus kann einen signifikanten Einfluss auf die Performance haben. Wir schauen uns einführend Selection und Insertion Sort an, um dann QuickSort und MergeSort zu verstehen. Aber es geht mit BucketSort nochmals schneller, nämlich in linearer Zeit.
Clevere Datenstrukturen: Tries — Build your own Auto-CompletionWollten Sie schon immer einmal wissen, wie man eine Auto Completion implementiert und dies zudem extrem schnell und gut macht? Hier erhalten Sie eine Einführung in Tries als unbekannte Datenstruktur und lernen grundlegende Aktionen damit kennen. Danach implementieren wie eine rasend schnell arbeitende Auto Completion.
Theorie trifft PraxisTheorie ist wichtig, doch entscheidend für den Lernerfolg sind praxisorientierte Übungen, bei denen die Teilnehmer:innen aktiv an der Optimierung von Algorithmen arbeiten. In diesem Workshop haben Sie die Möglichkeit, die vorgestellten Techniken direkt anzuwenden, eigene Lösungen zu entwickeln und von den Feedbacks des Trainers zu profitieren.
Teilnehmerkreis und Voraussetzungen
Der Workshop richtet sich an erfahrene Softwareentwickler:innen und -Architekt:innen mit soliden Python- oder Java-Kenntnissen, die ein tieferes Verständnis für Optimierungen in Allgemeinen und insbesondere konkrete praktische Ansätze kennenlernen möchten, um Programme noch schneller und speichereffizienter zu machen.
Technische Voraussetzungen• Aktuelle IDE (Pycharm 2025.1 oder neuer) // Java: IntelliJ oder Eclipse• Aktuelles Python 3.13 oder neuer // Java 17, 21 oder neuer• Notebook mit der Möglichkeit, Sourcen und Beispiele aus dem Netz von GitHub herunterzuladen
Mindestanzahl Teilnehmende: 3 Personen
Tipps und Tricks zum Einsatz der richtigen Algorithmen und Datenstrukturen mit Python (und Java)
Im Rahmen dieses Workshops möchten wir in die Kunst der Optimierung einsteigen und lernen, wie Aufgabens...
Mehr Informationen| Datum | Uhrzeit | Dauer | Preis | ||
|---|---|---|---|---|---|
| Webinar | |||||
| 12.10.2026 - 13.10.2026 09:00 - 16:00 Uhr 14 h | 09:00 - 16:00 Uhr | 14 h | Details | Details Jetzt buchen | |
| Datum | Uhrzeit | Dauer | Preis | ||
|---|---|---|---|---|---|
| Webinar | |||||
| 12.10.2026 - 13.10.2026 09:00 - 16:00 Uhr 14 h | 09:00 - 16:00 Uhr | 14 h | Details | Details Jetzt buchen | |