Tho*_*ung 4 java language-agnostic algorithm equivalent data-structures
我必须实现一个数组结构,该结构将等价类的元素分组.
API:
interface Grouper<T>{
void same(T l, T r);
Set<EquivalenceClass<T>> equivalenceClasses();
}
interface EquivalenceClass<T>{
Set<T> members();
}
Run Code Online (Sandbox Code Playgroud)
例如,分组行为如下:
Grouper g;
g.same(a, b);
g.equivalenceClasses() -> [[a,b]]
g.same(b, a);
g.equivalenceClasses() -> [[a,b]]
g.same(b, c);
g.equivalenceClasses() -> [[a,b,c]]
g.same(d, e);
g.equivalenceClasses() -> [[a,b,c], [d,e]]
g.same(c, d);
g.equivalenceClasses() -> [[a,b,c,d]]
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个可以达到约1000万条目的实现.它应该被优化以填充它并获得一次等价类.
| 归档时间: |
|
| 查看次数: |
1627 次 |
| 最近记录: |