Использование Google C KD Tree Library

У Google есть библиотека KD Tree, написанная на C: здесь

Насколько я могу судить, вы вставляете заметки в дерево с помощью одной из его функций, а затем запрашиваете дерево для ближайших соседей. Он возвращает указатель на новый массив (насколько я могу судить).

Вот моя цель:

У меня есть 3D-массив, и я надеюсь найти способ вернуть индекс ближайшего соседа данной точки. Я хочу сказать: вот точка: (12,23,14), теперь скажите мне индекс ближайшей точки ex: "это 5-й элемент в вашем массиве". Однако я не уверен, как это сделать.

Мои вопросы, кто-нибудь:

A) Знать хорошую хорошо документированную k-мерную библиотеку поиска ближайших соседей для c, или:

Б) Знать, как получить код Google для возврата позиции ближайшего соседа в массиве.

1 ответ

Решение

В библиотеке, которую вы связали, насколько я понимаю, не реализованы функции поиска n-ближайших соседей. У меня нет никаких других библиотек kd-дерева для C.

Реализация простого дерева kd не очень сложна, и это должно быть хорошим упражнением. Вы можете, например, следовать http://ldots.org/kdtree/.

Другие вопросы по тегам