Реализация разреженного массива на C # / самый быстрый способ сопоставить целое число с конкретным номером сегмента / диапазона

Моя первоначальная проблема в том, что мне нужно реализовать очень быстрый разреженный массив на C #. Первоначальная идея заключалась в том, чтобы использовать обычный Dictionary и обернуть его в свой собственный класс, чтобы предоставить только параметр типа TValue . Оказалось, что это довольно медленно.

Итак, моей следующей идеей было сопоставить каждое целое число в необходимом диапазоне ( UInt32.MinValue до UInt32.MaxValue ) в корзину, из некоторых размер и использовать это. Так что я' m ищет хороший способ сопоставить беззнаковое целое число X с сегментом Y, например:

Сопоставление чисел 0-1023 с 8 разными сегментами, содержащими 128 чисел в каждом, 0-127, 128-255.

Но Если у кого-то есть лучший способ реализации быстрого разреженного массива на C #, это тоже будет очень полезно.

11
задан thr 26 September 2010 в 14:17
поделиться