120
правок
Изменения
→Поиск ближайших соседей во всей структуре
[https://arxiv.org/abs/1603.09320 Оригинал]]]
Жадно ищем ближайшего соседа на каждом уровне, кроме 0. Когда находим, спускаемся через него на уровень ниже.
На нулевом уровне жадно ищем '''Kk''' ближайших соседей. '''knn'''(hnsw, q, Kk, ef)''':'''
<font color="green">// Входные данные: иерархия графов hnsw, запрос q, искомое количество ближайших соседей K, количество кандидатов при поиске ef</font>
<font color="green">// Возвращает: K k ближайших соседей q</font>
W = <tex>\emptyset</tex> <font color="green">// ближайшие к q вершины </font>
mL = |hnsw| - 1
ep = W
W = searchLayer(hnsw, q, ep, ef, lc=0)
'''return''' K k ближайших к q элементов вершин из W
===Вставка элемента===