Human-readable error messages in Rest API - Time & Space Complexity
When creating human-readable error messages in a REST API, it's important to know how the time to generate these messages changes as the number of errors grows.
We want to understand how the work needed to prepare error messages increases with more errors.
Analyze the time complexity of the following code snippet.
def format_errors(errors):
messages = []
for error in errors:
message = f"Error {error['code']}: {error['message']}"
messages.append(message)
return messages
This code takes a list of error objects and creates a list of readable error messages.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Looping through each error in the list.
- How many times: Once for each error in the input list.
As the number of errors increases, the time to create messages grows in a straight line.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 10 message creations |
| 100 | 100 message creations |
| 1000 | 1000 message creations |
Pattern observation: Doubling the number of errors doubles the work needed to create messages.
Time Complexity: O(n)
This means the time to create error messages grows directly with the number of errors.
[X] Wrong: "Creating error messages takes the same time no matter how many errors there are."
[OK] Correct: Each error needs its own message, so more errors mean more work and more time.
Understanding how error message creation scales helps you write APIs that stay responsive even when many errors occur. This skill shows you can think about performance in real situations.
"What if we combined all error messages into one string instead of a list? How would the time complexity change?"