Record declaration syntax in C Sharp (C#) - Time & Space Complexity
Let's see how the time it takes to create records grows as we make more records.
We want to know how the work changes when we declare many records.
Analyze the time complexity of the following code snippet.
record Person(string Name, int Age);
var people = new List<Person>();
for (int i = 0; i < n; i++)
{
people.Add(new Person($"Person{i}", i));
}
This code creates a list of Person records, adding n new records with different names and ages.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Creating a new
Personrecord and adding it to the list. - How many times: This happens once for each number from 0 up to
n - 1, sontimes.
Each time we increase n, we create and add more records, so the work grows steadily.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 10 record creations and additions |
| 100 | 100 record creations and additions |
| 1000 | 1000 record creations and additions |
Pattern observation: The work grows directly with the number of records we create.
Time Complexity: O(n)
This means if you double the number of records, the time to create them roughly doubles too.
[X] Wrong: "Creating records is instant and does not depend on how many we make."
[OK] Correct: Each record creation takes some time, so making more records means more total time.
Understanding how creating many objects or records affects time helps you write efficient code and explain your reasoning clearly.
"What if we changed the loop to create records only for even numbers? How would the time complexity change?"