gpt4 book ai didi

c# - 如何在 C# 中有效地比较两个排序的大列表?

转载 作者:太空狗 更新时间:2023-10-29 21:24:04 25 4
gpt4 key购买 nike

我有两个通用列表,每个列表中有 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

如果提高速度,列表也可以按名称排序。

我想比较这两个列表来找出答案

  1. 姓名与薪水相符的员工
  2. 姓名匹配但薪水不匹配的员工

将如此大的数据列表与上述条件进行比较的最快方法是什么?

最佳答案

我将按 name - O(n*log(n))newEmployeeListoldEmployeeList 列表进行排序>。然后你可以使用线性算法来搜索匹配项。因此,如果两个列表的大小大致相同,则总数将为 O(n+n*log(n))。这应该比 O(n^2)“蛮力”算法更快。

关于c# - 如何在 C# 中有效地比较两个排序的大列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8795902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com