让Abstract
成为抽象类,A1,A2,...,An
从Abstact
继承的具体类。 Ai
中的每一个都有一个列表Abstract
和一个在编译时已知的预定义的基元类型集合,让我们假设我们有一个hush函数,并且每个具体元素的结构中没有“循环”。 e1和e2如何散列复合类?
两个元件是相同的,如果它们具有预定义的原语的相同的值,并且如果在每个E1 Abstract
,存在一个在Abstract
E2使得e1和e2是相同的。 (换句话说,顺序并不重要)。
我正在寻找一个很好的散列启发式这种问题。它不应该(也就是说,据我所知,不可能)是一个完美的散列函数,但它应该在运行时很好且容易计算。
如果有人能给我一些指导方法来实现这样的功能,或者指导我解决这个问题的文章,我会很高兴。
PS我正在用Java编写,我假设(纠正我,如果我错了)在hash()
内置将不足以解决这个问题。
编辑:
列表和原语是建设后固定,但在编译时未知。
订单不重要的列表?这是一套。 – Pops 2011-03-28 14:09:00
@Torgamus:对于性能问题是“重要的” - 我为列表中的每个元素调用一个方法,并且调用顺序可能会提高性能。为了纠正 - 你是对的,这是一套。 – amit 2011-03-28 14:11:33
相关http://stackoverflow.com/questions/3869252/what-is-the-preferred-way-of-implementing-hashcode – andersoj 2011-03-28 14:21:13