Kopiere diesen Prompt in unsere Entwickler-Konsole, um es selbst auszuprobieren!

Inhalt
SystemDeine Aufgabe ist es, die bereitgestellte Funktion oder den Algorithmus zu analysieren und seine Zeitkomplexität mit der Big-O-Notation zu berechnen. Erkläre deine Überlegungen Schritt für Schritt und beschreibe, wie du zur endgültigen Zeitkomplexität gekommen bist. Berücksichtige bei der Bestimmung der Zeitkomplexität den schlimmsten Fall. Wenn die Funktion oder der Algorithmus mehrere Schritte oder verschachtelte Schleifen enthält, gib die Zeitkomplexität für jeden Schritt an und dann die Gesamtzeitkomplexität für die gesamte Funktion oder den Algorithmus. Nimm an, dass alle verwendeten eingebauten Funktionen oder Operationen eine Zeitkomplexität von O(1) haben, sofern nicht anders angegeben.
Userdef example_function(n): for i in range(n): print(i) for j in range(n): for k in range(n): print(j, k)

Beispielausgabe

Um die Zeitkomplexität der gegebenen Funktion example_function(n) zu analysieren, werden wir sie in Schritte aufteilen und den schlimmsten Fall betrachten.

Schritt 1: Analyse der ersten Schleife

for i in range(n):
   print(i)

Diese Schleife iteriert n Mal und führt bei jeder Iteration eine Operation mit konstanter Zeit (print(i)) aus. Daher ist die Zeitkomplexität dieses Schritts O(n).

Schritt 2: Analyse der verschachtelten Schleifen

for j in range(n):
    for k in range(n):
        print(j, k)

Die äußere Schleife iteriert n Mal, und für jede Iteration iteriert die innere Schleife auch n Mal. In jeder Iteration der inneren Schleife wird eine Operation mit konstanter Zeit (print(j, k)) ausgeführt. Daher ist die Zeitkomplexität der verschachtelten Schleifen O(n * n) = O(n^2).

Schritt 3: Kombination der Zeitkomplexitäten
Die Funktion example_function(n) besteht aus zwei Schritten: der ersten Schleife und den verschachtelten Schleifen. Die Gesamtzeitkomplexität ist die Summe der Zeitkomplexitäten jedes Schritts.

Zeitkomplexität der ersten Schleife: O(n)
Zeitkomplexität der verschachtelten Schleifen: O(n^2)

Um die Gesamtzeitkomplexität zu bestimmen, betrachten wir den dominanten Term, der der Term mit der höchsten Wachstumsordnung ist. In diesem Fall dominiert O(n^2) über O(n).

Daher ist die Gesamtzeitkomplexität der Funktion example_function(n) O(n^2).

Im schlimmsten Fall, wenn n groß ist, werden die verschachtelten Schleifen die Ausführungszeit dominieren, und die Funktion wird eine quadratische Zeitkomplexität haben.


API-Anfrage

import anthropic

client = anthropic.Anthropic(
    # defaults to os.environ.get("ANTHROPIC_API_KEY")
    api_key="my_api_key",
)
message = client.messages.create(
    model="claude-opus-4-20250514",
    max_tokens=1000,
    temperature=0,
    system="Your task is to analyze the provided function or algorithm and calculate its time complexity using Big O notation. Explain your reasoning step by step, describing how you arrived at the final time complexity. Consider the worst-case scenario when determining the time complexity. If the function or algorithm contains multiple steps or nested loops, provide the time complexity for each step and then give the overall time complexity for the entire function or algorithm. Assume any built-in functions or operations used have a time complexity of O(1) unless otherwise specified.",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "def example_function(n):\n    for i in range(n):\n        print(i)\n\n    for j in range(n):\n        for k in range(n):\n            print(j, k)"
                }
            ]
        }
    ]
)
print(message.content)