Trace:
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
repds15:logbuch [2015/09/22 18:16] – [Tag 2] mario | repds15:logbuch [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Logbuch ====== | ||
- | ===== Tag 1 ===== | ||
- | * Website der Vorlesung: http:// | ||
- | * Logbuch der Vorlesung: http:// | ||
- | * Literatursuche Uni-Bibliothek: | ||
- | * Username und Passwort (wenn noch nicht geändert) http:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * Vokabelliste anfertigen, Übersicht verschaffen, | ||
- | * " | ||
- | * Online-Whiteboard: | ||
- | * [[repds15: | ||
- | * [[https:// | ||
- | * [[http:// | ||
- | * [[repds15: | ||
- | * Themen, die wir nur ganz schnell angeschnitten haben, werden hier auf der Website ergänzt. Ich bemühe mich um besseres Zeitmanagement, | ||
- | * $f = O(g)$ heißt "f ist asymptotisch $\leq$ g" (bzw. f wächst höchstens so schnell wie g). | ||
- | * $f = \Omega(g)$ heißt "f ist asymptotisch $\geq$ g" (bzw. f wächst mindestens so schnell wie g). | ||
- | * $f = \Theta(g)$ heißt "f und g wachsen asymptotisch gleich schnell" | ||
- | * $f = o(g)$ heißt $f << g$ bzw. $\lim_{n \to \infty} \frac{f(n)}{g(n)} = 0$ | ||
- | * $f = \omega(g)$ heißt $f >> g$ bzw. $\lim_{n \to \infty} \frac{f(n)}{g(n)} = \infty$ | ||
- | * Laufzeit-Hierarchie von $\Theta(1)$ bis $\Theta(n^n)$ | ||
- | * $n! = o(n^n)$, aber $\log(n!) = \Theta(\log(n^n)) = \Theta(n \log(n))$. **Achtung**: | ||
- | * Master-Theorem: | ||
- | * Zu Arrays, Listen, Stacks und Queues findet ihr Pseudocodes bei den [[repds15: | ||
- | |||
- | ===== Tag 2 ===== | ||
- | * Pseudocode-Beispiele zu Arrays, Listen, Stacks und Queues besprochen | ||
- | * [[https:// | ||
- | * Bei Listen immer auf den current-Zeiger aufpassen: '' | ||
- | * Stack durch eine Liste simuliert: [[https:// | ||
- | * Datenstrukturen für Bäume, Anzahl der Knoten in einem vollständigen binären Baum | ||
- | * Die rekursive Definition eines Baums (Basisfall: Blatt, Rekursionsfall: | ||
- | < | ||
- | def rekursive_baumfunktion(Knoten v): | ||
- | if "v ist ein Blatt": | ||
- | Rechne irgendeinen Wert '' | ||
- | return value | ||
- | else // Rekursionsfall | ||
- | rufe rekursive_baumfunktion(...) rekursiv für die Kinder von v auf | ||
- | benutze den Rückgabewert des rekursiven Aufrufs, um einen Wert '' | ||
- | return value | ||
- | </ | ||
- | * Beispiel für ein rekursives Programm auf Bäumen | ||
- | * [[https:// | ||
- | * Topologische Sortierung | ||
- | * Datenstrukturen für Graphen | ||
- | * Breitensuche (BFS), Tiefensuche (DFS) auf Bäumen und allgemeinen Graphen: Wie hängt die Laufzeit von der verwendeten Datenstruktur ab? | ||
- | * Kantentypen: | ||
- | * Heaps: Darstellung eines Heaps als Array. '' | ||
- | * Heaps können zum Sortieren verwendet werden, siehe Heapsort. | ||
- | |||
- | ===== Tag 3 ===== | ||
- | |||
- | * (2, |