Member-only story

Understanding Time Complexity of C# List and LINQ Methods

Masoud Banimahd
4 min readJan 25, 2023

--

Time complexity is a measure of how long an algorithm takes to run in relation to the size of its input. Big O notation is a common way to express time complexity, and it describes the worst-case scenario for an algorithm. In this blog post, we will discuss the time complexity of several methods commonly used with C# Lists and LINQ, and provide examples to illustrate how they work.

First, let’s look at the time complexity of some basic List methods:

  • Add(): This method adds an item to the end of a List, and has a time complexity of O(1). This means that the time it takes to add an item to a List does not depend on the number of items already in the List.
  • Insert(): This method inserts an item at a specific index in a List, and has a time complexity of O(n). This means that the time it takes to insert an item into a List increases linearly with the number of items already in the List.
  • Remove(): This method removes an item from a List, and has a time complexity of O(n). This means that the time it takes to remove an item from a List increases linearly with the number of items already in the List.
  • RemoveAt(): This method removes an item at a specific index in a List, and has a time complexity of O(n). This means that the time it takes to remove an item from a List at a specific index increases linearly with the number of items already in the List.
  • IndexOf(): This method returns the index of…

--

--

Masoud Banimahd
Masoud Banimahd

Written by Masoud Banimahd

Experienced Full-stack Engineer | NodeJS & .NET Pro | Tech Enthusiast | Knowledge Seeker - Reach me : https://masoudb.com/

No responses yet

Write a response