Реализация разреженного массива в C # / быстрый способ сопоставить целое число с конкретным номером корзины / диапазона
Моя первоначальная проблема заключается в том, что мне нужно реализовать очень быстрый, разреженный массив в C #. Оригинальная идея заключалась в использовании нормальногоDictionary<uint, TValue>
и заверните его в моем собственном классе, чтобы разоблачить толькоTValue
параметр типа. Оказывается, это довольно медленно.
Поэтому моей следующей идеей было сопоставить каждое целое число в нужном диапазоне (UInt32.MinValue
вUInt32.MaxValue
) в ведро, какого-то размера и использовать это. Поэтому я ищу хороший способ сопоставить целое число без знака X с сегментом Y, например:
Сопоставление чисел от 0-1023 до 8 различных групп, содержащих по 128 чисел, 0-127, 128-255.
Но если у кого-то есть лучший способ реализации быстрого разреженного массива в C #, это также будет очень полезно.