作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有两个通用列表,每个列表中有 20,000 和 30,000 个对象。
class Employee
{
string name;
double salary;
}
List<Employee> newEmployeeList = List<Employee>() {....} // contains 20,000 objects
List<Employee> oldEmployeeList = List<Employee>() {....} // contains 30,000 objects
如果提高速度,列表也可以按名称排序。
我想比较这两个列表来找出答案
将如此大的数据列表与上述条件进行比较的最快方法是什么?
最佳答案
我将按 name
- O(n*log(n))
对 newEmployeeList
和 oldEmployeeList
列表进行排序>。然后你可以使用线性算法来搜索匹配项。因此,如果两个列表的大小大致相同,则总数将为 O(n+n*log(n))
。这应该比 O(n^2)
“蛮力”算法更快。
关于c# - 如何在 C# 中有效地比较两个排序的大列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8795902/
我是一名优秀的程序员,十分优秀!