Что означает стрелка вверх ( ) в псевдокоде?


9

Я изучаю деревья точек обзора, и я познакомился с этим, читая статью Структуры данных и алгоритмы поиска ближайших соседей в общих метрических пространствах Питера Йанилоса ( Материалы SODA 1993 , SIAM, стр. 311–321; PDF ). Следующий псевдокод появляется в алгоритме 1.

function Make_vp_tree(S)if S= then return new(node);node.p:=Select_vp(S);node.mu:=MediansSd(p,s);

nodeявляется узлом vp-дерева, поэтому я знаю, что это node.pзначит, но что означает эта стрелка вверх в этом контексте?

Ответы:


14

Алгоритмы в статье, на которую вы ссылаетесь, описаны в нотации, очень похожей на Pascal, язык, который обрабатывает указатели очень специфическим образом. В Паскале указатели объявляются как ссылки на значения определенных типов (например, указатель на целое число никогда не может ссылаться на логическое значение).

Стрелка вверх в воспроизводимом вами примере является оператором разыменования. Понятно, nodeчто указатель на значение типа записи (не самой записи), из которых pи muявляются поля, поэтому node.pне имеет смысла.

Проверьте этот похожий вопрос для дальнейшего уточнения.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.