با برنامه Player FM !
STP029: Algorithmische Komplexität
Fetch error
Hmmm there seems to be a problem fetching this series right now. Last successful fetch was on January 02, 2025 14:02 ()
What now? This series will be checked again in the next day. If you believe it should be working, please verify the publisher's feed link below is valid and includes actual episode links. You can contact support to request the feed be immediately fetched.
Manage episode 349226820 series 2920733
In dieser Episode möchte Xyrill gern eine Vorlesung halten über ein Thema, das in der Informatik zu den Grundlagen für das erste Semester gehört. Zwischendurch ist ttimeless etwas schwer von Begriff. Zu hoffen ist, dass ihr trotzdem durchhaltet. Und haltet ein paar Skatkarten bereit!
Shownotes
Komplexität: Ressourcenbedarf eines Algorithmus (Zeitkomplexität, Platzkomplexität; vielleicht auch Kostenkomplexität etc.)
- Forschungsgegenstand der Komplexitätstheorie
- hier hauptsächlich Zeitkomplexität
einfaches Beispielproblem: "Gegeben ist eine sortierte Liste von Wörtern (Schlagwörter im Wörterbuch). Finde ein bestimmtes Wort."
- naive Idee: jedes Wort nacheinander anschauen -> lineare Laufzeit (Verdopplung der Wörtermenge verdoppelt die zu erwartende Suchzeit)
- kluge Idee: Bisektion -> logarithmische Laufzeit (Verdopplung der Wörtermenge erfordert nur einen zusätzlichen Schritt)
Beschreibung von Komplexität: Landau-Symbole
- wichtigste Form:
f = O(g)
heißt, dassf
"nicht wesentlich schneller alsg
wächst (sprich:f(n)/g(n)
bleibt beschränkt, wennn -> ∞
) - Beispiel: naive Suche über eine Liste von
n
Elementen hat eine Laufzeit inO(n)
, Bisektion hat eine Laufzeit inO(log n)
- wichtigste Form:
etwas komplexeres Beispiel: Sortieralgorithmen ("Gegeben ist eine Liste von Zahlen/Wörtern/etc. Sortiere diese Liste.")
- Live-Beispiel: Skatkarten mischen und dann sortieren -> Auf welche Art und Weise sortieren wir intuitiv?
- Sortieralgorithmen auf Computern: zwei Grundbausteine
- Vergleich von zwei Elementen
- Tauschen von zwei Elementen
- anhand von Skatkarten diskutierbar:
- Insertionsort:
O(n^2)
- Quicksort:
O(n log n)
- Mergesort:
O(n log n)
- Insertionsort:
- wünschenswerte Eigenschaften:
- Lokalität (Timsort!, siehe STP007)
- Stabilität (Mergesort!)
- Codegröße (Quicksort!)
Schauempfehlung (mit Epilepsie-Warnung): Visualisierung verschiedener Sortieralgorithmen
im Gespräch erwähnt:
67 قسمت
Fetch error
Hmmm there seems to be a problem fetching this series right now. Last successful fetch was on January 02, 2025 14:02 ()
What now? This series will be checked again in the next day. If you believe it should be working, please verify the publisher's feed link below is valid and includes actual episode links. You can contact support to request the feed be immediately fetched.
Manage episode 349226820 series 2920733
In dieser Episode möchte Xyrill gern eine Vorlesung halten über ein Thema, das in der Informatik zu den Grundlagen für das erste Semester gehört. Zwischendurch ist ttimeless etwas schwer von Begriff. Zu hoffen ist, dass ihr trotzdem durchhaltet. Und haltet ein paar Skatkarten bereit!
Shownotes
Komplexität: Ressourcenbedarf eines Algorithmus (Zeitkomplexität, Platzkomplexität; vielleicht auch Kostenkomplexität etc.)
- Forschungsgegenstand der Komplexitätstheorie
- hier hauptsächlich Zeitkomplexität
einfaches Beispielproblem: "Gegeben ist eine sortierte Liste von Wörtern (Schlagwörter im Wörterbuch). Finde ein bestimmtes Wort."
- naive Idee: jedes Wort nacheinander anschauen -> lineare Laufzeit (Verdopplung der Wörtermenge verdoppelt die zu erwartende Suchzeit)
- kluge Idee: Bisektion -> logarithmische Laufzeit (Verdopplung der Wörtermenge erfordert nur einen zusätzlichen Schritt)
Beschreibung von Komplexität: Landau-Symbole
- wichtigste Form:
f = O(g)
heißt, dassf
"nicht wesentlich schneller alsg
wächst (sprich:f(n)/g(n)
bleibt beschränkt, wennn -> ∞
) - Beispiel: naive Suche über eine Liste von
n
Elementen hat eine Laufzeit inO(n)
, Bisektion hat eine Laufzeit inO(log n)
- wichtigste Form:
etwas komplexeres Beispiel: Sortieralgorithmen ("Gegeben ist eine Liste von Zahlen/Wörtern/etc. Sortiere diese Liste.")
- Live-Beispiel: Skatkarten mischen und dann sortieren -> Auf welche Art und Weise sortieren wir intuitiv?
- Sortieralgorithmen auf Computern: zwei Grundbausteine
- Vergleich von zwei Elementen
- Tauschen von zwei Elementen
- anhand von Skatkarten diskutierbar:
- Insertionsort:
O(n^2)
- Quicksort:
O(n log n)
- Mergesort:
O(n log n)
- Insertionsort:
- wünschenswerte Eigenschaften:
- Lokalität (Timsort!, siehe STP007)
- Stabilität (Mergesort!)
- Codegröße (Quicksort!)
Schauempfehlung (mit Epilepsie-Warnung): Visualisierung verschiedener Sortieralgorithmen
im Gespräch erwähnt:
67 قسمت
Minden epizód
×به Player FM خوش آمدید!
Player FM در سراسر وب را برای یافتن پادکست های با کیفیت اسکن می کند تا همین الان لذت ببرید. این بهترین برنامه ی پادکست است که در اندروید، آیفون و وب کار می کند. ثبت نام کنید تا اشتراک های شما در بین دستگاه های مختلف همگام سازی شود.