我有两个由CSV文件生成的DataTable A和B。我需要能够检查中B不存在的行A。
A
B
有没有一种方法可以执行某种查询以显示不同的行,或者我必须遍历每个DataTable的每一行以检查它们是否相同?如果表变大,后一种选择似乎非常密集。
我必须遍历每个DataTable的每一行以检查它们是否相同。
从CSV文件中加载数据后,您将不会有任何索引或任何内容,因此在某些时候,无论是代码还是库,都需要遍历每一行。 , 管他呢。
无论如何,这是一个算法问题,这不是我的专长,但是我的幼稚方法如下:
1:您可以利用数据的任何属性吗?每个表中的所有行是否都是唯一的,是否可以按照相同的条件对它们进行排序?如果是这样,您可以这样做:
这使您可以在(排序时间* 2)+一遍中进行操作,因此,如果我的big-O表示法正确,那么它将是(whatever-sort-time)+ O(m + n),这非常好。 (修订:这是ΤΖΩΤΤΙΙΟΥ描述的方法)
2:一种替代方法,其效率或多或少取决于您的数据量:
我真的很想知道哪些人比我更了解算法,所以提出了一个:-)