Search parameter in Rest API - Time & Space Complexity
When using a search parameter in a REST API, we want to know how the time to find results changes as the data grows.
We ask: How does the search time grow when there are more items to look through?
Analyze the time complexity of the following code snippet.
GET /items?search=keyword
// Server side pseudo-code
function searchItems(keyword, items) {
let results = [];
for (let item of items) {
if (item.name.includes(keyword)) {
results.push(item);
}
}
return results;
}
This code searches through a list of items and returns those whose name contains the search keyword.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Looping through each item in the list to check if it matches the search keyword.
- How many times: Once for every item in the list.
As the number of items grows, the time to check each one grows too.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 10 checks |
| 100 | 100 checks |
| 1000 | 1000 checks |
Pattern observation: The number of operations grows directly with the number of items.
Time Complexity: O(n * m)
This means the search time grows linearly with the number of items and the length of the keyword check.
[X] Wrong: "Searching with a keyword always takes the same time no matter how many items there are."
[OK] Correct: The code checks each item one by one, so more items mean more checks and more time.
Understanding how search time grows helps you explain how APIs handle bigger data and why efficient searching matters.
"What if the items were sorted and we used a binary search instead? How would the time complexity change?"
Practice
What is the main purpose of a search parameter in a REST API URL?
Solution
Step 1: Understand what search parameters do
Search parameters are added to the URL to specify what data you want from the API.Step 2: Identify the purpose of filtering
Filtering means selecting only the data that matches your criteria, which is what search parameters do.Final Answer:
To filter the data returned by the API -> Option BQuick Check:
Search parameter = filter data [OK]
- Thinking search parameters change server address
- Confusing search parameters with security tokens
- Assuming search parameters format response
Which of the following is the correct way to add a search parameter named name with value alice to a REST API URL?
https://api.example.com/users
Solution
Step 1: Recall the syntax for search parameters
Search parameters start with a question mark (?) after the base URL.Step 2: Check the correct separator and format
The parameter is added as?name=alice. Using & or # or slashes is incorrect here.Final Answer:
https://api.example.com/users?name=alice -> Option CQuick Check:
Use ? before first parameter [OK]
- Using & instead of ? for first parameter
- Using # which is for anchors, not parameters
- Adding parameters as path segments
What will be the full URL to search for users with age 30 and city as NY?
Base URL: https://api.example.com/users
Solution
Step 1: Add first parameter with ?
The first search parameter starts with a question mark:?age=30.Step 2: Add second parameter with &
Additional parameters use & to separate:&city=NY.Final Answer:
https://api.example.com/users?age=30&city=NY -> Option AQuick Check:
First ? then & for multiple parameters [OK]
- Using ? for every parameter
- Using & before first parameter
- Using # which is for anchors
Identify the error in this URL with search parameters:
https://api.example.com/products?category=books&price=20?sort=asc
Solution
Step 1: Check parameter separators
Only the first parameter uses ?, others must use &.Step 2: Identify the error in the URL
The URL incorrectly uses a second ? beforesort=ascinstead of &.Final Answer:
Using two question marks (?) for parameters -> Option AQuick Check:
Only one ? allowed, others use & [OK]
- Using multiple ? instead of &
- Confusing = with : in parameters
- Thinking parameters belong in URL path
You want to search a REST API for books with author as John and year greater than 2010. Which URL correctly uses search parameters to do this?
Solution
Step 1: Understand how to express 'greater than' in search parameters
REST APIs often use suffixes like _gt for 'greater than' in parameters.Step 2: Check each option for correct syntax
https://api.example.com/books?author=John&year_gt=2010 usesyear_gt=2010, which is a common and correct way to express this filter.Final Answer:
https://api.example.com/books?author=John&year_gt=2010 -> Option DQuick Check:
Use _gt suffix for greater than filters [OK]
- Using > directly in URL parameter
- Placing operators after values
- Confusing parameter syntax for filters
Ready to prove it?
Pass the test and this pattern moves unknown
