Невозможно сказать вам, какой алгоритм наиболее эффективен, ничего не зная о распределении точек в двух решениях. Впрочем, на первый взгляд ...
Первый алгоритм не работает & mdash; по двум причинам: (1) неверное предположение - я предполагаю, что ограничивающие оболочки не пересекаются, и (2) неправильное прочтение вопроса - он не находит кратчайшего края для каждой пары точек.
... вычислить выпуклую оболочку из двух наборов: ближайшие точки должны быть на гиперповерхности на двух корпусах, через которые проходит линия между двумя центрами тяжести.
Вы можете вычислить выпуклую оболочку, вычислив центральные точки, центр тяжести, предполагая, что все точки имеют равную массу, и упорядочив списки от самого дальнего от центра до наименее дальнего. Затем возьмите самую дальнюю точку в списке, добавьте ее к выпуклой оболочке, а затем удалите все точки, которые находятся в вычисленной до сих пор выпуклой оболочке (для этого вам потребуется вычислить много 10d гипертреугольников). Повторите, пока в списке не осталось ничего, кроме выпуклой оболочки.
Второй алгоритм: частичный
Вычислить выпуклую оболочку для List2. Для каждой точки List1, если точка находится за пределами выпуклой оболочки, найдите гиперграницу, как в первом алгоритме: ближайшая точка должна быть на этой грани. Если это на лице, аналогично. Если он внутри, вы все равно можете найти гиперграницу, продолжив линию после точки из List1: ближайшая точка должна быть внутри шара, которая включает гиперграницу до центра тяжести List2: здесь, однако, вам нужен новый алгоритм, чтобы получить ближайшая точка, возможно, подход с использованием kd-дерева.
Perfomance
Когда List2 является чем-то вроде равномерно распределенного или нормально распределенного по некоторой довольно наклонной форме, это поможет сократить количество рассматриваемых точек и должно быть совместимо с предложением kd-дерева.
Однако есть некоторые ужасные случаи сусла: если List2 содержит только точки на поверхности тора, геометрический центр которых является центром тяжести списка, то выпуклая оболочка будет очень дорогой для вычисления и не поможет значительно сократить количество рассматриваемых пунктов.
Моя оценка
Эти виды геометрических техник могут быть полезным дополнением к подходу kd-деревьев других плакатов, но вам необходимо немного узнать о распределении точек, прежде чем вы сможете определить, стоит ли их применять.