Я ищу оптимальный способ вычисления хэш-кода для набора двумерных точек (чтобы я мог хранить многоугольники в хэш-таблице).Каков оптимальный способ вычисления хэш-кода для набора точек?
Есть некоторые очевидные способы сделать это, например, конкатенировать все координаты точек в строке и ее хэш-код, но это будет очень медленно.
На другом конце спектра скорости/столкновения я могу, например, суммировать все координаты, что приведет к очень быстрому коду, но также создаст много столкновений.
Каков оптимальный способ вычисления хэш-кода для набора точек?
Является ли оптимальное решение отличным, если координаты целые (vs действительные координаты)?
Редактировать: Я использую .net, поэтому хэш-код должен быть длиной 32 бит.
Любые ограничения на то, как ваши полигоны могут пересекаться в пространстве? – Anon
Anon: они могут перекрываться; но вы заставляете меня любопытно: какая разница? – Brann
Написал мой ответ об этом, прежде чем увидеть ответный комментарий. Просил через комментарий, так как я думал, что вы, вероятно, допускаете дублирование. – Anon