- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有 2 个数据 GridView (比如 DGV-A 和 DGV-B),每个 View 只有一列。我想查找 DGV-A 中的项目是否也存在于 DGV-B 中。基本上,我正在寻找 MS-Excel 中可用的 VLookup 函数。这可以很简单地完成,总线遍历 DGV-A 中的值,对于 DGV-A 的每次迭代,遍历 DGV-B 并查看它是否存在(一旦我们找到该项目,就中止 DGV-B 的迭代存在)。这需要对 DGV-A 中的所有项目完成。而且因为我的 DGV 可能在每个数据 GridView 中有大约 200 个项目(例如,如果 DGV 每个包含 200 个项目,最坏情况下,我将进行 200*200 = 40000 次比较),恐怕不会很快。
有什么方法/算法可以以最佳方式做到这一点。 (我没有任何数据绑定(bind)或数据库,因此不能使用 SQL/DB 引擎;我在 DGV 中的数据是根据用户操作以编程方式动态生成的)
最佳答案
在您知道确实存在性能问题之前,优化代码以提高性能通常不是一个好主意。但在这种情况下,我也会使用另一种解决方案,以避免 O(n * m)
操作。
我建议将一个列表中的所有项目插入到哈希集中 - 如果您指定足够大的初始大小并避免以这种方式调整哈希集的大小,这将是 O(n)
。然后只需在 O(m)
中的第二个列表中的每个项目的哈希集中执行查找。这样你就可以将 O(n * m)
降为 O(n + m)
。
关于algorithm - Datagridview 中的 VLookup (VB.NET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1530334/
在过去的一年里,我对 Excel 已经相当熟练了,我已经为下一步做好了准备,开始使用 VBA。 我尝试实现以下目标: 我想创建一个可以运行多个 Vlookups 的工具来自不同的数据源,并将所有数据组
是否可以在 VLOOKUP 公式中插入 VLOOKUP 以搜索特定的 table_array? 这是我要使用的公式: =VLOOKUP($F492,CONCATENATE("'[Budget esti
我正在尝试 vlookup从一张纸到另一张纸的一些数据。 每当我尝试 Vlookup使用 VBA:结果是 Application.WorksheetFunction.vlookup代替Applicat
我正在寻找 vlookup 的替代方案,在感兴趣的上下文中提高性能。 上下文如下: 我有一个很大的 {key;data} 数据集(约 100'000 条记录) 我想对数据集执行大量 VLOOKUP 操
我有以下脚本,但收到 VLOOKUP 错误: Dim DataRange, LookupRange As Range Dim Data, Test As Variant Set DataRange =
我对 Pandas 和 Python 还很陌生,我根本不知道如何做一些在 Excel 中很容易完成的事情。我希望能从社区中得到一点帮助。 假设我有以下内容,这是一个与梦幻足球相关的 df,它具有三列
我有一个问题,http://goo.gl/i82eA这是我具有所需输出的示例数据。目前我有一个用户定义的函数,它手动使用许多 if 语句来完成这项工作,但如果它在列中找到某种颜色并返回与其对应的颜色图
我想创建一个超过 2 个工作表的 VLOOKUP,并查看三个查找值,其中一个值与中间的 - 连接起来。 基础数据太大,无法放入此处(30k 字符限制),因此文件如下: https://wetransf
我正在尝试将大型数据集及其处理从 Excel 转换到 Python/Pandas,但在尝试实现“IF(col A = x, VLOOKUP(col表 Y 中的 B),否则,VLOOKUP(表 Z 中的
我有两张纸。两张纸的第一列都有用户 ID,但两张纸之间只有一些 ID 重叠。我想将 userids 保留在第一张表中,但在第二张表中,第二列有一个我想要的数据点。对于第一张表中也存在于第二张表中的
当单元格值更改时,我正在尝试在 VBA 中执行 Vlookup,根据已更改的单元格查找值。 目前我有: Private Sub Worksheet_Change(ByVal Target As Ran
我正在同一个工作表上执行循环 vlookup,但出现运行时错误:1004:无法使用以下代码获取 WorksheetFunction 类的 Vlookup 属性: Sub Test()
我有一张表,其中包含农田和每个田地中包含的英亩数。这些领域是共同拥有的,并按百分比分配。 字段拆分表: 目前,我为每个字段创建一个新行,并为每个字段中包含的英亩数使用 sumif,然后使用另一个 vl
我在工作表 1 中为城市创建了一个多选下拉列表,与下拉列表关联的邮政编码在工作表 2 中。 这就是我的工作表 2 的外观。 1.) 允许用户从下拉列表中选择多个城市。用户选择城市后,我想在一个单元格中
我想从一张表中获取多行数据 sheet1进入另一张纸上的单个单元格sheet2基于查找。 例如,一张纸上有数据: sheet1 我想根据 id 查找数据并将所有相关行返回到一个单元格中,如下所示: s
我的问题是我正在尝试动态更改我的 vlookup 开始的位置。我有一个嵌套 If 和 vlookups 的基本工作解决方案。目前 If 语句检查 Vendor = A 等,然后执行 vlookup。如
我的单元格包含用逗号分隔的文本,例如: apples, bananas, mango 每个单元格中的项目数量各不相同,有的有一个,有的多达 10 个。 我希望遍历单元格中的每个项目,然后对它们执行 v
我目前正在为 excel 使用 VLOOKUP 函数,我想知道 VLOOKUP 是否真的比较单元格,还是只是直接使用它对面的单元格? 这是我的公式“=VLOOKUP(A2,Sheet3!A2:B181
Col A 有 ItemID Col B 有 Model_Num Col C 有一长串 Model_Num .在 Col D 中,我想查找 Model_Num Col C 并把 ItemID item
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 9年前关闭。 Improve this que
我是一名优秀的程序员,十分优秀!