Написав программу в древовидной структуре данных, я должен написать имя класса и имя определенного пользователем типа данных, почему? - PullRequest
0 голосов
/ 21 июня 2020

почему мы пишем вот так? Наверное, я пишу так, потому что здесь нам нужно написать определяемый пользователем тип данных; но обязательно указать имя класса, а имя типа данных, определяемое пользователем, такое же, когда я пишу структуру класса Node, я пишу вот так

class tNode{ 
    tNode left;
    tNode right;
}

Почему мы не написали так?

class tNode{
    Node left;
    Node right;
}                                                               

Ответы [ 2 ]

0 голосов
/ 21 июня 2020

Рассмотрим ситуацию, когда вы пытаетесь установить семейные отношения, вы всегда связываете одного человека -> другого человека, а не какое-либо другое живое существо.

Теперь это семейное отношение может быть выражено через Древо, поэтому оно должно использовать свой собственный класс.

// Просто легкая нота ..

0 голосов
/ 21 июня 2020

Это потому, что дерево состоит из объектов одного типа, так или иначе указывающих на другие объекты того же типа. Итак, left и right для дерева из tNode объектов должны быть того же типа, что и tNode.

Когда вы выполняете рекурсивные операции на узле дерева, тогда предполагается, что каждый узел быть отправной точкой другого дерева (также известного как поддерево). Итак, recursiveFunctione(node) приведет к recursiveFunctione(node.left) и recursiveFunctione(node.right) Поскольку java строго типизирован, если узлы принадлежат к разным типам, рекурсивная функция не будет работать.

Я полагаю, что это какое-то наследование структура открыла бы разные возможности, но я не уверен, что это будет.

...