Я изучаю двоичное дерево, и я пытаюсь понять, почему Node left
снова вызывает class Node
.Binary Tree Node Ссылка на класс
Например:
class Node
{
Node left, right;
int data;
}
Почему Node
Node
вызова и почему это не Int Node.
Я изучаю двоичное дерево, и я пытаюсь понять, почему Node left
снова вызывает class Node
.Binary Tree Node Ссылка на класс
Например:
class Node
{
Node left, right;
int data;
}
Почему Node
Node
вызова и почему это не Int Node.
Бинарное дерево - это просто структура, содержащая от 0 до 2 ссылок на один и тот же тип связанного объекта. Например, это плохо обращаются диаграмма:
10
/\
1 5
/\
3 6
10 является Node
с:
left
ссылается на Node
с value
1.right
ссылкой на Node
с value
5.Другие узлы аналогичны.
Поля left
и right
просто могут содержать ссылки на другие экземпляры Node
. Они не называются классами, а просто полями с типизированным типом.
С такой установкой, вы можете создать бинарное дерево, так как теперь каждый Node
может содержать значение - int data
- и ссылку на корневой узел левого поддерева - Node left
- и ссылку на корень узел правого поддерева - Node right
.
, что означает ссылка на корневой узел? – fscore
Извините. Если вы не знаете эти термины, вы должны пойти и прочитать начальные учебные пособия. – Seelenvirtuose
Как я уже сказал, я новичок, так что вы можете указать мне ссылку? – fscore
Это не звонит, это member declaration и те поля, если бы это было просто int node
мы не имеем каких-либо ссылок на Чайлдс узла, поэтому мы должны иметь поля типа node
и из-за это бинарное дерево, мы должны иметь left child
и right childs
.
Это не звонит ?? Что ты имеешь в виду? – fscore
Вы не вызываете поле класса, это просто объявление, в родительском узле у вас есть дочерний узел, поэтому вы можете найти дочерний узел. предположим, что узел a имеет два дочерних a и b, как вы могли бы знать, что если a где просто целое число? вы должны иметь дочерний узел в родительском узле, чтобы это знать. Это все. – Lrrr
'Узел' не вызывает« Узел ». Это только полевые декларации. Экземпляр класса «Node» просто имеет ссылку на левый и правый «Node», которые в свою очередь являются экземплярами класса «Node» – Robin