Вложенные HashTables? - PullRequest
       1

Вложенные HashTables?

3 голосов
/ 07 мая 2011

Я работаю над игровым движком на Java и пытаюсь сделать так, чтобы процесс принятия решений для рисования на экране занимал как можно меньше времени. Поэтому я использовал много HashTables, вложенных в HashTables. Я знаю, что это может быть плохая практика кодирования, но я действительно хочу знать, есть ли какая-либо глубина вложения, которая фактически нарушит мою программу?

Ответы [ 3 ]

2 голосов
/ 07 мая 2011

Как правило, нет, если вы придерживаетесь мнения, что общая цель хеш-таблицы - одна из масштабируемость : т.е. чтобы операции имели общее "постоянное" время независимо от количества элементов.Необходимость вычисления нескольких хеш-кодов для каждой операции в принципе не нарушает эту гарантию масштабируемости .

В зависимости от вашей реализации, очевидно, могут быть и другие соображения, такие как пространство / количество задействованных объектов-заполнителей.

Если важны последние типы рассмотрения, рассмотрите возможность использования большой хеш-таблицы с комбинированной хеш-функцией.

2 голосов
/ 07 мая 2011

Нет, глубина не имеет значения (по крайней мере, до тех пор, пока не закончится память)

Просто используйте HashMap вместо Hashtable

0 голосов
/ 20 ноября 2011

Вообще плохо? Нет. Но я еще не видел игру, в которой глубоко вложенные хэш-таблицы имеют смысл. Исходя из того, что вы описываете, создается впечатление, что вам следует хорошенько взглянуть на деревья BSP .

Вероятно, в любом случае имеет смысл использовать некоторые из высокоуровневых фреймворков вместо того, чтобы заново изобретать колесо (плохо).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...