2016-02-10 4 views
1

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

type data = ....; 
    Tree = ↑node; 
    node = record 
    left, right: Tree; 
    level: integer; 
    key: data; 
    end; 
var bottom, deleted, last: Tree; 

procedure InitGlobalVariables; 
begin 
    new (bottom); 
    bottom↑.level := 0; 
    bottom↑.left := bottom; 
    bottom↑.right := bottom; 
    deleted := bottom; 
end; 

Это псевдокод является ссылкой на строительство Red-Black-деревья нашли here, написанную Арне Андерссон.

ответ

1

Стрелка вверх не является стандартом. На самом деле псевдокод не является стандартом, так что каждый автор имеет некоторую свободу в своих обозначениях, которые они используют.

Автор должен был сделать легенду для псевдокода, объясняя, что означает стрелка вверх.

Моей интерпретацией является то, что показано, что Дерево является указателем на структуру данных узла типа. Обозначения несколько напоминают Паскаль.

И стрелка вверх, следующая за переменной, предназначена для обозначения того, что указательная переменная имеет значение dereferenced.

+0

Поскольку стрелка направлена ​​вверх, она может ссылаться на родителя текущего узла – jcpennypincher

+0

@jcpennypincher, если возможно, это маловероятно; более вероятно, что он используется для обозначения указателя, а затем для обозначения разыменования указателя –

+0

По этой логике это может быть все, что вы хотите. Это psuedocode, что означает, что он не имеет определенного синтаксиса. Тот, кто его написал, должен быть более явным и, возможно, оставить комментарий. поскольку мы говорим о сбалансированном двоичном дереве поиска, я бы предположил, что это указатель на родительский узел, который всегда находится над дочерним узлом выше. Я бы поставил 50 долларов, что и имел в виду автор. – jcpennypincher

 Смежные вопросы

  • Нет связанных вопросов^_^