KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am doing some comparisons about where to filter out items from a list. I am unsure of doing it directly which would be O(n), or using .Where(). I made a simple example to test .Where() on a simple data set. There are n=100 items, and when I run the debugger on the line in the function BigO() it goes exactly 100 times making me think that .Where() is also O(n). What I couldn't figure out was where the data was being stored during the operation and I wasn't sure if that was adding any increased complexity. Am I missing something, or is .Where() O(n)? public class ListerFactory { public class Lister { bool includeItem { get; set; } } List<Lister> someList { get; set; } public ListerFactory() { someList = new List<Lister>(); BuildLister(); } public void BuildLister() { for(int i = 0; i < 100; i++) { var inc = new Lister(); inc.includeItem = i % 2; someList.Add(inc); } BigO(); } public void BigO() { someList = someList.Where(thisList => thisList.includeItem == true).ToList(); } }
Tags (comma-separated)
Save Edits
Cancel