2017-02-09 6 views
0

Есть алгоритмы, чтобы найти k ближайших соседей по-разному. В конечном итоге мне придется применять их, однако в моем случае я могу закодировать свою программу, чтобы добавлять точки по одному, а не добавлять все точки в целом, а затем запускать алгоритм. Является ли это проблемой, так что, возможно, я мог бы использовать дерево и добавить каждый узел в дерево или что-то в этом роде. Кажется, это будет быстрее, чем поиск по всем точкам линейно.Хранение ближайшего соседа

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

+0

_ «точки будут постоянно перемещаться» _ - тогда, когда это сосед и когда он рядом? Это звучит так, как будто это противоречит вашим _ «это облегчает задачу». Но в противном случае рассмотрим Max Heap. –

+0

Это может быть актуально: http://stackoverflow.com/q/4274218/238978 –

ответ