내 응용 프로그램에 계속해서 늘어나는 번호 체계를 구현하는 방법에 대한 제안이 필요합니다. 내 응용 프로그램은 정점이 정수로 고유하게 열거 된 그래프를 작성합니다. 현재 직면하고있는 문제는 int 또는 long으로 표현할 수있는 최대 숫자 인 이며 그래프에 적용 할 수있는 꼭지점 수의 상한선을 나타냅니다.계속 증가하는 번호 체계 구현
모든 의견을 환영합니다.
감사
내 응용 프로그램에 계속해서 늘어나는 번호 체계를 구현하는 방법에 대한 제안이 필요합니다. 내 응용 프로그램은 정점이 정수로 고유하게 열거 된 그래프를 작성합니다. 현재 직면하고있는 문제는 int 또는 long으로 표현할 수있는 최대 숫자 인 이며 그래프에 적용 할 수있는 꼭지점 수의 상한선을 나타냅니다.계속 증가하는 번호 체계 구현
모든 의견을 환영합니다.
감사
를 사용하여 64 비트 정수 (자바 : 긴, C/C++ : 오래 오래).
어쨌든 2^63 그래프 노드를 저장할 메모리가 충분하지 않으므로 더 이상 필요하지 않습니다.
기억 : 모든 노드가 자체 인덱스를 저장하는 경우 첫 번째 충돌을 얻기 전에 32 비트 인덱스 변수를 사용하려면 16GB 메모리가 필요합니다.
많은 언어가 임의 정밀도 정수를 나타내는 BigInteger 형식 또는 클래스를 지원합니다. 어떤 언어를 사용하고 있습니까? 당신이 다루는 가치의 범위는 무엇입니까? – templatetypedef
@templatetypedef, 내 응용 프로그램은 C++로 작성되었습니다. 이러한 번호 매기기 시스템은 상한이 없어야 응용 프로그램에서 메모리가 충분하면 영원히 새로운 정점을 생성 할 수 있습니다. –
그래프에 몇 개의 정점이 있습니까? 그래프에 모서리가 없으면 실제로 정수가 모두 소진되기 전에 메모리 부족 현상이 발생할 수 있습니다. – DSM