Роман Страх, А какая разница, в каком порядке искать? Найдите сами в выводе ipconfig хоть одну строку, в которой есть одновременно и имя адаптера и подстрока "IPv4-адрес".
Wataru, Вопрос интересный. В каждой ячейке массива одна ссылка на список игроков. В каждом узле дерева четыре ссылки на узлы следующего уровня. Если на предпоследнем уровне хранить сразу четыре ссылки на списки игроков, то, в худшем случае (кто-то есть в каждой ячейке), дерево займёт на 33% больше памяти, чем массив.
Остаётся вопрос скорости. Если в квадранте (1,1) сейчас два игрока и один из них переходит в пустой квадрант (-1,-1), то надо будет создать всю цепочку узлов от корня до нового квадранта. Аналогично, если после перехода квадрант будет пуст, то может понадобится удалить всю цепочку узлов.
В общем, получается задача выбора исходя из количества квадрантов, общего количества игроков, количества движущихся игроков и частоты перехода между квадрантами. Может оказаться, что выгоднее для движущегося игрока просто пересчитывать все пары.