3
정수의 튜플 (순서가 중요)을, 충돌의 가능성이 적은 정수로 해시 할 필요가 있습니다. 나는 정수로 문자열을 변환하고, ','로 연결하여 문자열 해시를 얻는 접근법을 사용하고 있지만 너무 느리다.정수의 튜플을 빠르게 해쉬하는 방법
정수의 튜플에서 고속 해시를 가져 오는 방법이 있습니까? 여기
정수의 튜플 (순서가 중요)을, 충돌의 가능성이 적은 정수로 해시 할 필요가 있습니다. 나는 정수로 문자열을 변환하고, ','로 연결하여 문자열 해시를 얻는 접근법을 사용하고 있지만 너무 느리다.정수의 튜플을 빠르게 해쉬하는 방법
정수의 튜플에서 고속 해시를 가져 오는 방법이 있습니까? 여기
는 자바의 Arrays.hashCode(int[])가하는 일입니다 :
2938 public static int hashCode(int a[]) {
2939 if (a == null)
2940 return 0;
2941
2942 int result = 1;
2943 for (int element : a)
2944 result = 31 * result + element;
2945
2946 return result;
2947 }
이 계산은 List 인터페이스에 지정되어 있습니다. 나는 그것이 당신에게 충분한 충돌 방지인지는 모르겠지만 시작하기에 좋은 장소 인 것 같습니다. 순서를 고려합니다 (즉, 같은 숫자의 순서가 다를 경우 다른 해시 값이 산출됩니다).
값의 범위는 무엇입니까? 얼마나 많은 가치가 있습니까? – wildplasser