Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Theoretische Informatik (http://www.informatikerboard.de/board/board.php?boardid=5)
--- Landau, Groß O und Theta usw. (http://www.informatikerboard.de/board/thread.php?threadid=309)
Geschrieben von JROppenheimer am 17.11.2007 um 10:58:
Landau, Groß O und Theta usw.
Ich hoffe ihr verzeiht, wenn ich hier ein paar etwas banale Fragen stelle.
Es geht um Laufzeiten von Algorithmen.
Es geht um die lineare Suche (finde in einem array ein element, wenn da liefere index, sonst NIL), diese hat ja eine lineare Laufzeit, abhängig von n.
(Falls ich an irgendeiner Stelle Dummfug rede, bitte ich um kreative Kritik

)
Ich sag also jetzt mal einfach so: Laufzeit der Suche sei f(n)
(ist das bis dahin richtig?)
Jetzt gehts darum: Angenommen, das gesuchte Element befindet sich statistisch gesehen im Mittel, in der Mitte des Arrays. Damit hätte man eine mittlere Laufzeit von n/2 (wenn n die größe des Arrays ist) und im schlimmsten Fall eine Laufzeit von n.
Ausgedrückt in LaundauSymbolen in diesem fall Theta:
Die beiden Laufzeiten (mittlerer und schlimmster Fall) ausgedrückt in Theta wäre doch:
Theta(von schlimmster Fall) und Theta(von mittlerer Fall) sind element von h(n) = n
(kann mir jemand so folgen?)
Geschrieben von Tobias am 17.11.2007 um 11:07:
Du hast f(n) eingeführt aber nicht h(n).
| Zitat: |
| Theta(von schlimmster Fall) und Theta(von mittlerer Fall) sind element von h(n) = n |
Diese Aussage solltest du in dieser Form nochmal überdenken.
Was ist
![[latex]\Theta(n)[/latex]](http://www.matheboard.de/latex2png/latex2png.php?\Theta(n))
mathematisch gesehen für ein Konstrukt? Wie ist es definiert?
Geschrieben von JROppenheimer am 17.11.2007 um 11:25:
1. wie mache ich formeln
2. theta von n ist eine menge von funktionen, die "im wesentlichen" wie n wachsen (in diesem fall linear?)
ich kenne die mathematische definition, mit c0 und c1 und n aus N und so
edit: geil, danke für die schnelle antwort, ich weiss das zu schätzen!!!
edit²: Sorry, das sollte so heissen:
Laufzeit(von schlimmster Fall) und Laufzeit(von mittlerer Fall) sind element von Theta von(h(n) = n)
Geschrieben von Tobias am 17.11.2007 um 12:45:
| Zitat: |
| Laufzeit(von schlimmster Fall) und Laufzeit(von mittlerer Fall) sind element von Theta von(h(n) = n) |
Genau, so wird ein Schuh draus. Theta ist eine Menge, in der Abbildungen die Elemente sind.
Formeln gehen mit latex zwischen
| code: |
1:
|
[latex] .. [/latex] |
|
Klammern.
Geschrieben von JROppenheimer am 17.11.2007 um 13:48:
Ich muss sagen, dass mir trotzdem das Verständnis ein bisschen schwer fällt:
Das heisst, dass lineare Laufzeiten im Grunde alle "gleich" im Sinne von Theta sind?! Also jede lineare Laufzeit ist element von Theta(h(n) = n) ??
Vielen Dank für die Hilfe!!!
Geschrieben von Tobias am 17.11.2007 um 15:11:
Du kannst dir die Landaunotation als "Gruppierung" von Laufzeiten vorstellen. In der Komplexitättheorie interessiert es oft nicht, ob eine Funktion eine Laufzeit von
![[latex]\frac{n}{2} + 300[/latex]](http://www.matheboard.de/latex2png/latex2png.php?\frac{n}{2} + 300)
oder
![[latex]2n + 2[/latex]](http://www.matheboard.de/latex2png/latex2png.php?2n + 2)
hat. Wichtig ist die asymptotische Laufzeit, d.h. welcher Teil der Laufzeit
dominiert.
![[latex]\Theta(n)[/latex]](http://www.matheboard.de/latex2png/latex2png.php?\Theta(n))
beschreibt die Klasse der Funktionen, die (asymptotisch) linear wachsen. Die wichtige Information hieraus ist, wie sich die Laufzeit verändert, wenn die Eingabegrößen anwachsen.
Geschrieben von JROppenheimer am 17.11.2007 um 16:44:
Gut, soweit kann ich folgen. Aber ist dann Theta im Grunde nicht das einzige, was man braucht? Wozu brauche ich denn dann noch groß O und groß Omega?
Kann ich am Ende nicht jede Laufzeit auf eine Thetadarstellung führen? Die ist doch am aussagekräftigsten, oder?
Geschrieben von Tobias am 17.11.2007 um 17:44:
![[latex]\Theta[/latex]](http://www.matheboard.de/latex2png/latex2png.php?\Theta)
gibt eine schärfere Schranke an als z.B.
![[latex]\mathcal{O}[/latex]](http://www.matheboard.de/latex2png/latex2png.php?\mathcal{O})
.
z.B.:
![[latex]\log(n) \in \mathcal{O}(n), \; \log(n) \notin \Theta(n)[/latex]](http://www.matheboard.de/latex2png/latex2png.php?\log(n) \in \mathcal{O}(n), \; \log(n) \notin \Theta(n))
Forensoftware: Burning Board, entwickelt von WoltLab GmbH