Диаграмма Вороного предназначена специально для очень быстрого нахождения ближайшей точки. Хотя это довольно сложно реализовать, вы можете найти некоторые существующие библиотеки / реализации.
Существует также возможность многократного деления плоскости на квадраты, таким образом, создается некое дерево, в котором у каждого неконечного узла есть 4 дочерних элемента (верхний правый квадрат, нижний правый квадрат и т. Д.). Затем из четырех квадратов вы найдете тот, в котором находится ваша точка, и продолжите ее рекурсивно. Часто это дает точку достаточно близко, так что вы можете исключить необходимость проверки других квадратов.
Но легко создать «контрпример» для этой стратегии, который приведет к линейному времени.
Но вы не можете многое сделать со своим отсортированным массивом, чтобы ускорить процесс. Вам понадобится специальная структура данных.
редактировать
Вторая структура называется Quadtree , спасибо VGE за предоставление имени.