Problem Detail: I’m learning vantage point trees, and I met this while reading the paper Data Structures and Algorithms for Nearest Neighbor Search in General Metric Spaces by Peter Yianilos (Proceedings of SODA 1993, SIAM, pages 311–321; PDF). The following pseudocode appears in Algorithm 1. $$begin{align*} hspace{2em}&hspace{-2em} textbf{function}text{ Make_vp_tree(}Stext{)} &textbf{if }S=emptysettextbf{ then return }emptyset &text{new(node);} &text{node}!uparrow!!text{.p} := text{Select_vp(}Stext{);} &text{node}!uparrow!!text{.mu} := text{Median}_{sin S}, d(p,s); &dotsc end{align*}$$ node is a node of vp-tree, so I know what node.p means, but what do that up arrow means in this context?
Asked By : QhelDIV
Answered By : André Souza Lemos
The algorithms in the paper you link to are described in a notation quite similar to Pascal, a language that treats pointers in a very particular way. In Pascal, pointers are declared as references to values of specific types (a pointer to an integer can never refer to a boolean, for instance). The upward arrow, in the example you reproduce, is a dereferencing operator. Clearly, node is a pointer to a value of a record type (not a record itself), of which p and mu are fields, so node.p has no meaning. Check out this similar question for further clarification.
Best Answer from StackOverflow
Question Source : http://cs.stackexchange.com/questions/51277 Ask a Question Download Related Notes/Documents