我想知道java 1.5中比较两个数据结构的最快方法是什么.
我的数据结构代表了一棵非常大的树.我可以遍历整个数据结构并逐个节点地比较(我想这会很慢).或者我可以计算数据结构的哈希来更快地完成它,对吧?
计算此哈希的最佳(有效且不太长)方法是什么?
我不想花太多时间来计算哈希...
希望我很清楚..: - )...
每个对象都.equals()继承.hashCode()自Object。
Java 中的标准数据结构应该已经.hashCode()为您实现了一个相对快速的方法(哈希可能是增量计算的,或者可能需要迭代每个元素,请检查您正在使用的数据结构的源以确保)。
您应该意识到,即使数据结构不相同,也可能会发生哈希冲突。
为了进行准确的比较,我将在两棵树上同时执行树遍历来比较每个元素。这样,树的形状以及所包含的元素将及时进行比较,O(n)其中n是最大树的大小。
| 归档时间: |
|
| 查看次数: |
6657 次 |
| 最近记录: |