Uma árvore com nós que têm referência ao pai ainda é uma árvore?

8

Se fizermos referência ao pai para cada nó em uma árvore, ainda temos mais uma árvore (por definição)?

A definição da Wikipedia é:

Na ciência da computação, uma árvore é um tipo de dados abstratos (ADT) ou estrutura de dados amplamente utilizado implementando esse ADT que simula uma estrutura hierárquica de árvore, com um valor raiz e subárvores de filhos, representados como um conjunto de nós vinculados.

insira a descrição da imagem aqui

Mohsen
fonte
3
O que faz você duvidar disso?
2
Desde que os links pai e os links filhos sejam distintos, você pode assumir que os links filhos formam a árvore e os links pai são apenas um detalhe da implementação.
Mouviciel

Respostas:

16

Uma árvore é um gráfico acíclico conectado. No caso em que temos links "principais", isso seria apenas uma árvore não direcionada, mas definitivamente ainda uma árvore. Se você especificasse que o exemplo é um gráfico direcionado, ele não seria considerado uma árvore (mas é claro que não há como distinguir do código pretendido).

Algumas "árvores" da ciência da computação incluirão, por exemplo, links de cada nó de volta à raiz ou links ao longo de cada nível de uma árvore B +. Um cientista da computação provavelmente ainda chamaria essas coisas de árvores, um matemático não chamaria.

U2EF1
fonte
1
+1 por indicar que ter links pai (links em ambas as direções) torna o gráfico equivalente a um gráfico não direcionado.
Giorgio
Podemos dizer que qualquer gráfico acíclico é uma árvore?
Mohsen
4
@Mohsen A (dirigida) grafo acíclico que inclui um nó com dois pais não é uma árvore
Izkata
@ Ohssen: Você também pode definir uma árvore como um gráfico com um nó raiz distinto, de modo que exista um caminho exclusivo da raiz para qualquer outro nó. Claramente, existem gráficos acíclicos que não atendem a essa definição.
Giorgio
-2

Vamos seguir esta definição. Certamente obterá o ans.

Um gráfico conectado G é chamado de árvore se a remoção de qualquer uma das suas arestas fizer G desconectado. Portanto, como o gráfico fornecido acima, não suporta esta afirmação, não podemos dizer que o gráfico fornecido seja uma árvore.

Para mais informações, você pode continuar neste link.

http://win.ua.ac.be/~vanhoudt/graph/trees.pdf

mergulho
fonte
1
Você está usando o ponto de vista do matemático aqui. Observe que o U2EF1 diz em sua resposta: um cientista da computação provavelmente ainda chamaria essas coisas de árvores, um matemático não chamaria. . Sua resposta é basicamente a mesma que a de Uiquité a esse respeito.
Martijn Pieters 28/09
O artigo citado assume gráficos não direcionados. Essa definição de árvores não é apropriada para um gráfico direcionado, porque (a) seria necessário mencionar que os DAGs, incluindo árvores, podem estar no máximo fracamente conectados e porque (b) permite vários nós raiz. Agora observe que o gráfico na pergunta é um gráfico direcionado (embora com backlinks) e que ainda exista um conceito de nó raiz (a hierarquia é indicada pela posição vertical). Uma definição melhor para uma árvore direcionada seria: “Uma árvore (direcionada) está vazia ou possui exatamente um nó raiz do qual todos os nós são alcançáveis”.
amon