Implementazione di un sistema di numerazione sempre crescente
-
29-10-2019 - |
Domanda
Ho bisogno dei tuoi suggerimenti su come dovrei implementare un sistema di numerazione sempre crescente per la mia applicazione. La mia applicazione crea un grafo in cui i suoi vertici sono enumerati in modo univoco con numero intero. Il problema che sto affrontando attualmente è il numero più grande rappresentabile da int o long, che pone un limite superiore per il numero di vertici che un grafo può contenere.
Tutte le opinioni sono benvenute qui.
Grazie
Soluzione
Usa numeri interi a 64 bit (java: long, c / c ++: long long).
Probabilmente non hai abbastanza memoria per memorizzare 2 ^ 63 nodi del grafico, quindi non ne avrai bisogno di più.
Ricorda: se ogni nodo memorizza il proprio indice, l'utilizzo di una variabile di indice a 32 bit richiederà 16 gigabyte di memoria prima di ottenere la prima collisione.