1
4
从数字序列中生成一个哈希值,例如(警告-此哈希函数仅用于演示目的): [n1,n2,n3,n4,n5]>n1异或n2异或n3异或n4异或n5。 然后,首先只需要检查结果向量和原始向量的散列值,只有它们匹配时,才需要比较每个单独的数字。 |
2
3
这里应该避免使用vector,因为它的实现是线程安全的,并且有一些开销。使用LinkedList可获得插入和删除操作的最大性能,使用ArrayList可获得随机访问的最大性能。 例子:
比较列表的优点是在第一个元素不匹配之后停止比较,不必接触所有元素。比较列表很快! |
3
1
我想,只要把一个向量和目标数字放在一起,然后用新生成的数字填充一个新向量,然后对它们进行迭代比较就不会太贵了。这可能是因为第一个数字的比较可能失败,所以只需要进行一次比较来检测失败。 似乎你要收集你使用过的六个数字,所以比较整数不会太贵。 不管你做什么,拜托 量度! 您应该为比较任务生成至少两个算法并比较它们的性能。选最快的。 然而,也许第一步是将数学过程的运行时间与比较任务进行比较。如果您的数学过程运行时是比较的100倍或更多,您只需选择一些简单的东西,不必担心。 |
4
1
请注意,&运算符短路,即只有在左操作数本身不确定结果时才计算右操作数。因此,比较只会看那些必要的元素。 不过,我不认为这会在任何情况下掩盖用于生成比较数字的数学计算所花费的时间。使用jvisualvm调查时间花在哪里。 |
5
0
如果只需要对照一组数字验证,那么直接比较这些数字更有效。计算散列需要执行一些运算,这比比较要昂贵。如果需要针对多组数字进行验证,则哈希解决方案将更有效。 |
Eddiex045 · 比较两个文本文件,匹配项转到一个新文件 2 年前 |
Bob Jones · 比较C char和char*[已关闭] 6 年前 |
Dave · 按集合属性的大小比较对象,空集保留在排序列表的末尾 6 年前 |
Ollie Beumkes · SQL Server连接方式与或类似 6 年前 |
Roho · 如何检查日期字段是否过期(拉维/流明) 6 年前 |
TKW · 比较两个字符串并对R中的术语进行补足 6 年前 |
sakh1979 · Clojure:如何使用与集合/联合比较[重复] 7 年前 |
Ruby Learner · Ruby-比较数组中的特定值/目标值 7 年前 |
Toni Bodonji · 将用户输入与Ruby中类内的属性进行比较 7 年前 |