Continuous monitoring of a
farthest neighbors is also very similar to that of a
nearest neighbors query.
Let
be the set of
farthest neighbors of
. In monitoring of
farthest neighbors, an update
is considered outgoing update if
and
.
Similarly, an update is considered incoming if
and
. During update
handling, the algorithm deletes an object
from
if it issues an outgoing update and inserts it in
if it issues an incoming update. After handling all the updates, if
contains more than or equal to
objects, the algorithm keeps
farthest objects and deletes all other. On the other hand, if
contains
less than
objects, the algorithm updates the result by calling CircularTrip with radius
and iteratively
decreasing it by
unless
farthest neighbors have been found.
Figure:
Update Handling of a Farthest Neighbor Query
[
issues an update at
]
[
is new farthest neighbor]