#28 O(1), O(log n), O(n^2) - Ist die Komplexität von Algorithmen im Entwickler-Alltag relevant?

#28 O(1), O(log n), O(n^2) - Ist die Komplexität von Algorithmen im Entwickler-Alltag relevant?

Diese Episode in deiner Podcast-App hören...

Shownotes / Worum geht's?

Beim Programmieren ist alles ein Algorithmus. Irgendwie zumindest. Doch wie misst man die Zeitkomplexität?

Das ganze nennt sich Big-O-Notation, oder zu deutsch "Bachmann-Landau-Notation". Eigentlich ein recht trockenes Thema, doch auch irgendwie relevant in der heutigen Zeit von verteilten Systemen und großen Datenmengen. Doch was ist die Big-O-Notation? Was sagt sie aus? Wo kommt diese in der Praxis vor? Und inwieweit hat das ganze noch eine Relevanz in Zeiten von Cloud Computing und fast unbegrenzten Hardware-Ressourcen? Darum geht es in dieser Episode.

Bonus: Wie Andy und Wolfgang in deutscher Grammatik belehrt werden, ob es OK ist in 1on1s zu fluchen und das Hash-Kollisionen mit der ganzen Sache zu tun haben.


Feedback an stehtisch@engineeringkiosk.dev oder via Twitter an https://twitter.com/EngKiosk

Sprungmarken

(00:00:00) Intro

(00:00:49) Intro: Feedback zur Episode #26 - Deutschland spricht schlecht Englisch

(00:03:55) Intro: Feedback zur Grammatik - Der, die oder das Kommentar

(00:06:05) Wer hört denn so alles das Engineering Kiosk?

(00:07:09) Podcast-Player: Pocket Casts

(00:08:32) Was sind die Sachen, die oft sinnvoll sind, du aber doch vergessen hast?

(00:10:34) Das heutige Thema: Big-O Notation / Bachmann-Landau Notation (Zeitkomplexität von Algorithmen)

(00:13:33) Warum ist die Big-O Notation / Bachmann-Landau Notation relevant

(00:15:24) Wo war es das letzte mal wo dir die Big-O Notation vorgekommen ist

(00:16:05) Was ist die Big-O Notation / Bachmann-Landau Notation?

(00:20:59) Geben wir den best, average oder worst-case der Big-O Notation / Bachmann-Landau Notation an?

(00:25:15) Konstanten können zur Vereinfachung einfach weggelassen werden

(00:27:00) Big-O Notation bei redis: Die Story wie Andy damit in Berührung kam

(00:31:16) Zeitkomplexität vs. Space-Complexity / Raumkomplexität: Zeit vs. Memory

(00:32:58) Gibt es was besseres als O(1)?

(00:34:26) Ist das setzen eines Keys in einer Hashmap immer O(1)?

(00:40:03) Inwieweit kann man die Big-O Notation / Bachmann-Landau Notation auf Datenbanken mappen?

(00:42:07) Wie relevant ist die Optimierung der Big-O Notation in Zeiten von Cloud und schnellen Servern eigentlich noch?

(00:45:52) Batch-Processing vs. Streaming und die Optimierung von Algorithmen

(00:48:49) Optimierungen von Algorithmen in JavaScript / auf Client-Seite

(00:52:06) Optimierungen können auch schlecht sein bzw. schlecht aussehen

(00:53:09) Outro mit Flachwitzen

Hosts


Engineering Kiosk Podcast: Anfragen an stehtisch@engineeringkiosk.dev oder via Twitter an https://twitter.com/EngKiosk