IKG/Ratespiel
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Python</language>
== Komplexität ==
In der Informatik versteht man die Komplexität als die Anforderung eines Algorithmus an Computerressourcen. Hier werden hauptsächlich der Zeitaufwand und der Speicherbedarf betrachtet.
Es gibt nun verschiedene Möglichkeiten den Verbrauch zu ermitteln. Hierzu wird eine Laufzeitanalyse des Algorithmus durchgeführt.
'''1. Ansatz:''' Direktes Messen der Laufzeit (z.B. in ms):
– Abhängig von vielen Parametern, wie Rechnerkonfiguration, Rechnerlast,
Compiler, Betriebssystem, …
– Deshalb: kaum übertragbar und ungenau
'''• 2. Ansatz:''' Zählen der benötigten Elementaroperationen des
Algorithmus in Abhängigkeit von der Größe n der Eingabe
– Das algorithmische Verhalten wird als Funktion der benötigten
Elementaroperationen dargestellt.
– Die Charakterisierung dieser elementaren Operationen ist abhängig von der
jeweiligen Problemstellung und dem zugrunde liegenden Algorithmus.
– Beispiele für Elementaroperationen: Zuweisungen, Vergleiche,
arithmetische Operationen, Zeigerdereferenzierungen oder Arrayzugriffe
Hierzu soll ein Spiel implementiert werden, welches das Zählen der Operationen verständlicher macht.
Inhalt des Spiel ist es zu erraten welche Zahl sich Spieler 1 gedacht hat. Verwendet folgenden Quellcode und probiert aus wie viele Durchläufe nötig sind.
<run id="65071f1d4d2cc">
spieler1 = input("Meine Zahl:")
spieler2= ""
zaehler = 1
while spieler2 != spieler1:
spieler2= input("Versuch:")
zaehler = zaehler +1
print("Versuche: ", zaehler)
</run>