Algorithmen und Datenstrukturen

... mit Python

Sie können in Python programmieren und damit viele praktische Probleme lösen. Aber bei manchen Problemen stoßen Sie an Ihre Grenzen - da fällt Ihnen schon die Einordnung schwer: ist das jetzt wirklich so eine schwierige Aufgabe oder habe ich einfach noch nicht das richtige Modul dafür gefunden? Und wenn es kein fertiges Modul gibt: wie würde man das am besten lösen?

Die Informatik liefert uns für viele Probleme Lösungsansätze. Die nützlichsten Algorithmen und Datenstrukturen erklären wir in diesem Kurs. Anhand von Beispielen helfen wir Ihnen damit Programmieraufgaben zu lösen. Und Sie lernen besser einzuschätzen, welche Probleme tatsächlich NP-hart sind. Und wo Sie einfacher weiter kommen.

Voraussetzungen

Sie sollten bereits in Python programmieren können.

Inhalt

O-Notation

  • Was bedeuted O-Notation?
  • ein Vergleich anhand verschiedener Algorithmen
  • Was ist NP-vollständig, und was NP-hart? Was bedeutet das für uns?

Datenstrukturen

  • Wofür sind Datenstrukturen gut?
  • Haben Datenstrukturen auch eine O-Notation?
  • Listen, Arrays, Dictionaries, Trees, Heaps, ...
  • exotische Datenstrukturen

Bäume

  • Was ist ein Baum (in der Informatik)?
  • Wofür sind Bäume gut?
  • Wie steht es mit der O-Notation?
  • Git als Modell für Bäume -- und stimmt das denn?

Graphen

  • Was ist ein Graph? Insbesondere im Unterschied zum Baum.
  • Was für Algorithmen gibt es auf Graphen?
  • Distanzsuche mit Dijkstra
  • Tiefensuche versus Breitensuche

Zustandsmaschinen (FSM, finite state machines)

  • Wofür sind FSMs gut?
  • Wie steht es mit der O-Notation?
  • Markov-Ketten, String-Suche und Business-Logik

Kurszeiten

Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.

An den Kurstagen dann von 9-18 Uhr (mit 2 Kaffee- und 1 Mittagspause) etwa 60% Schulungen und 40% Übungen. Selbstverständlich arbeitet jeder Teilnehmer am von uns gestellten Notebook oft parallel zum Referenten mit.

Anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.