Implementando uma matriz esparsa em C # / maneira mais rápida de mapear inteiro para um número específico de intervalo / intervalo
Meu problema inicial é que preciso implementar uma matriz esparsa muito rápida em C #. A ideia original era usar umDictionary<uint, TValue>
e envolvê-lo em minha própria classe para expor apenas oTValue
parâmetro de tipo. Acontece que isso é bem lento.
Então, minha próxima idéia foi mapear cada número inteiro no intervalo necessário (UInt32.MinValue
paraUInt32.MaxValue
) para um balde de algum tamanho e use-o. Então, estou procurando uma boa maneira de mapear um número inteiro não assinado X para um intervalo Y, por exemplo:
Mapeando os números de 0 a 1023 a 8 diferentes baldes contendo 128 números cada, 0 a 127, 128 a 255.
Mas se alguém tiver uma maneira melhor de implementar uma matriz esparsa rápida em C #, isso seria muito apreciado também.