Podcast
Questions and Answers
Na árvore binária de pesquisa fornecida, qual nó seria o pai de '30'?
Na árvore binária de pesquisa fornecida, qual nó seria o pai de '30'?
Na hierarquia de classes apresentada, qual classe herda diretamente de AbstractBinaryTree
?
Na hierarquia de classes apresentada, qual classe herda diretamente de AbstractBinaryTree
?
De acordo com a estrutura da árvore binária de pesquisa, qual nó seria o filho direito de '80'?
De acordo com a estrutura da árvore binária de pesquisa, qual nó seria o filho direito de '80'?
Qual das seguintes classes na hierarquia apresentada é uma interface?
Qual das seguintes classes na hierarquia apresentada é uma interface?
Signup and view all the answers
Na árvore binária de pesquisa, qual é o ancestral mais próximo comum de '25' e '30'?
Na árvore binária de pesquisa, qual é o ancestral mais próximo comum de '25' e '30'?
Signup and view all the answers
Qual é o principal objetivo da abstração Position
na interface da ADT Árvore
?
Qual é o principal objetivo da abstração Position
na interface da ADT Árvore
?
Signup and view all the answers
Qual método é definido na interface Position
?
Qual método é definido na interface Position
?
Signup and view all the answers
Como a interface Position
contribui para o encapsulamento na ADT Árvore
?
Como a interface Position
contribui para o encapsulamento na ADT Árvore
?
Signup and view all the answers
Por que foi feita a opção de abstrair a entidade nodo através da interface Position
na ADT Árvore
?
Por que foi feita a opção de abstrair a entidade nodo através da interface Position
na ADT Árvore
?
Signup and view all the answers
Qual é a relação entre a interface Position
e a classe Node
(que implementa a estrutura concreta da árvore)?
Qual é a relação entre a interface Position
e a classe Node
(que implementa a estrutura concreta da árvore)?
Signup and view all the answers
Qual das seguintes estruturas de dados é melhor para representar informações hierárquicas?
Qual das seguintes estruturas de dados é melhor para representar informações hierárquicas?
Signup and view all the answers
Em uma estrutura de árvore, como são chamados os nós que não possuem descendentes?
Em uma estrutura de árvore, como são chamados os nós que não possuem descendentes?
Signup and view all the answers
Qual é a característica principal de um nó em uma árvore, em relação à sua relação com outros nós?
Qual é a característica principal de um nó em uma árvore, em relação à sua relação com outros nós?
Signup and view all the answers
Qual é a finalidade do método node(Position p)
na classe LinkedBinaryTree
?
Qual é a finalidade do método node(Position p)
na classe LinkedBinaryTree
?
Signup and view all the answers
Na implementação de árvores, a combinação de classes abstratas e concretas visa principalmente qual objetivo?
Na implementação de árvores, a combinação de classes abstratas e concretas visa principalmente qual objetivo?
Signup and view all the answers
Se p
é uma Position
válida em uma LinkedBinaryTree
, e node(p).getLeft()
retorna null
, o que isso indica?
Se p
é uma Position
válida em uma LinkedBinaryTree
, e node(p).getLeft()
retorna null
, o que isso indica?
Signup and view all the answers
Qual tipo de nó se encontra no topo da hierarquia em uma árvore?
Qual tipo de nó se encontra no topo da hierarquia em uma árvore?
Signup and view all the answers
Qual operação é realizada pelo método addRoot(E e)
?
Qual operação é realizada pelo método addRoot(E e)
?
Signup and view all the answers
Quais são exemplos de aplicações de estruturas em árvore mencionadas no texto?
Quais são exemplos de aplicações de estruturas em árvore mencionadas no texto?
Signup and view all the answers
O que acontece com o tamanho da árvore ao executar addLeft(Position p, E e)
?
O que acontece com o tamanho da árvore ao executar addLeft(Position p, E e)
?
Signup and view all the answers
Em relação à hierarquia da implementação de árvores, o que representa a classe AbstractTree
?
Em relação à hierarquia da implementação de árvores, o que representa a classe AbstractTree
?
Signup and view all the answers
O que o método parent(Position p)
da LinkedBinaryTree
retorna?
O que o método parent(Position p)
da LinkedBinaryTree
retorna?
Signup and view all the answers
No contexto da implementação de árvores, o que é a JCF?
No contexto da implementação de árvores, o que é a JCF?
Signup and view all the answers
Qual condição impede a adição de um novo nó como raiz usando addRoot(E e)
?
Qual condição impede a adição de um novo nó como raiz usando addRoot(E e)
?
Signup and view all the answers
Em qual cenário o método addLeft(Position p, E e)
retornaria null
?
Em qual cenário o método addLeft(Position p, E e)
retornaria null
?
Signup and view all the answers
Qual é a principal aplicação de uma árvore de decisão no contexto de Inteligência Artificial?
Qual é a principal aplicação de uma árvore de decisão no contexto de Inteligência Artificial?
Signup and view all the answers
Qual a complexidade de pesquisa em uma árvore binária de pesquisa balanceada?
Qual a complexidade de pesquisa em uma árvore binária de pesquisa balanceada?
Signup and view all the answers
Numa árvore binária de pesquisa, qual a regra de organização dos nodos?
Numa árvore binária de pesquisa, qual a regra de organização dos nodos?
Signup and view all the answers
Como as folhas (nodos sem filhos) se comportam numa árvore binária de pesquisa?
Como as folhas (nodos sem filhos) se comportam numa árvore binária de pesquisa?
Signup and view all the answers
Se uma árvore binária de pesquisa tem 20 níveis, qual o tamanho máximo da coleção que ela pode gerir?
Se uma árvore binária de pesquisa tem 20 níveis, qual o tamanho máximo da coleção que ela pode gerir?
Signup and view all the answers
Qual a principal diferença entre uma árvore binária de pesquisa e uma árvore de decisão?
Qual a principal diferença entre uma árvore binária de pesquisa e uma árvore de decisão?
Signup and view all the answers
Qual a fórmula para calcular o número máximo de nodos numa árvore binária de pesquisa, dado o número de níveis 'k'?
Qual a fórmula para calcular o número máximo de nodos numa árvore binária de pesquisa, dado o número de níveis 'k'?
Signup and view all the answers
Qual a semelhança entre uma árvore binária de pesquisa e uma árvore de decisão?
Qual a semelhança entre uma árvore binária de pesquisa e uma árvore de decisão?
Signup and view all the answers
Qual método da interface BinaryTree
retorna a posição do nó esquerdo de um nó dado?
Qual método da interface BinaryTree
retorna a posição do nó esquerdo de um nó dado?
Signup and view all the answers
Na classe AbstractBinaryTree
, o que acontece se o nó p
passado para o método sibling(Position p)
for a raiz da árvore?
Na classe AbstractBinaryTree
, o que acontece se o nó p
passado para o método sibling(Position p)
for a raiz da árvore?
Signup and view all the answers
Qual o objetivo do método numChildren(Position p)
na classe AbstractBinaryTree
?
Qual o objetivo do método numChildren(Position p)
na classe AbstractBinaryTree
?
Signup and view all the answers
Qual tipo de dado é retornado pelo método children(Position p)
da classe AbstractBinaryTree
?
Qual tipo de dado é retornado pelo método children(Position p)
da classe AbstractBinaryTree
?
Signup and view all the answers
Na classe aninhada Node
dentro da classe LinkedBinaryTree
, qual atributo armazena o nó filho esquerdo?
Na classe aninhada Node
dentro da classe LinkedBinaryTree
, qual atributo armazena o nó filho esquerdo?
Signup and view all the answers
O que o método getParent()
na classe Node
dentro de LinkedBinaryTree
retorna?
O que o método getParent()
na classe Node
dentro de LinkedBinaryTree
retorna?
Signup and view all the answers
Qual o propósito do método setElement(E e)
na classe Node
?
Qual o propósito do método setElement(E e)
na classe Node
?
Signup and view all the answers
Se um nó na classe LinkedBinaryTree
não tem filho esquerdo, o que o método getLeft()
retornará?
Se um nó na classe LinkedBinaryTree
não tem filho esquerdo, o que o método getLeft()
retornará?
Signup and view all the answers
Na estrutura de uma árvore binária, qual é a relação entre um nó e seu 'irmão' (sibling)?
Na estrutura de uma árvore binária, qual é a relação entre um nó e seu 'irmão' (sibling)?
Signup and view all the answers
Qual interface define os métodos left(Position p)
, right(Position p)
, e sibling(Position p)
?
Qual interface define os métodos left(Position p)
, right(Position p)
, e sibling(Position p)
?
Signup and view all the answers
Como a classe AbstractBinaryTree
implementa o método sibling(Position p)
?
Como a classe AbstractBinaryTree
implementa o método sibling(Position p)
?
Signup and view all the answers
Na classe LinkedBinaryTree
, o que representa o atributo element
na classe Node
?
Na classe LinkedBinaryTree
, o que representa o atributo element
na classe Node
?
Signup and view all the answers
Qual é a capacidade inicial da lista criada dentro do método children(Position p)
da classe AbstractBinaryTree
?
Qual é a capacidade inicial da lista criada dentro do método children(Position p)
da classe AbstractBinaryTree
?
Signup and view all the answers
O que acontece se o nó passado para o método sibling(Position p)
não tiver um irmão?
O que acontece se o nó passado para o método sibling(Position p)
não tiver um irmão?
Signup and view all the answers
Qual método da classe Node
permite atualizar a referência para o nó filho direito?
Qual método da classe Node
permite atualizar a referência para o nó filho direito?
Signup and view all the answers
Study Notes
Árvores
- Árvores n-árias, árvores binárias, árvores de decisão, árvores binárias de pesquisa, AVLs, Heaps e travessias são estruturas de dados.
Estruturas em Árvore
- As estruturas em forma de árvore (invertida) representam hierarquicamente informação, como classificação de seres vivos, árvores geneaógicas, árvores de decisão e diagramas organizacionais.
- Um conjunto de nodos interligados, formando uma hierarquia (pais e filhos), com um nodo raiz (topo). Os nodos descendentes são intermédios e terminais, sendo estes últimos as folhas (nodos externos).
Implementação de Árvores
- A implementação das estruturas em árvore usa classes abstratas e concretas para maior reutilização de código (semelhante ao JCF).
- Um diagrama ilustra a hierarquia dos tipos de árvore a criar.
Abstraindo a entidade nodo - Position
- A interface da ADT Árvore (Tree) abstrai a entidade nodo chamada Position, que tem apenas um método consultor getElement().
- Esta abstração isola as funcionalidades internas do nodo, permitindo encapsulamento e abstração.
- A interface Position é usada para referenciar nodos na árvore antes que eles sejam definidos.
A Interface Tree<E>
- Interface para árvores onde cada nodo pode ter um número arbitrário de filhos/descendentes.
- Métodos para obter a raiz, ancestrais, filhos, número de filhos, se é nodo interno/externo/raiz e tamanho da árvore.
- Metodos para percorrer todas as posições na árvore.
Iteração duma Árvore
- Tornar um iterador a navegar numa árvore pode ser complexo, mas pode-se copiar o conteúdo para uma coleção linear para simplificar o processo.
- Iteradores de captura instantânea guardam uma cópia da árvore, permitindo iterar sem afetar a árvore original.
- O iterador percorre a coleção linear copiada e é eficiente.
Iterador a usar numa estrutura em árvore
- Duas formas de iterar através da árvore: Snapshot Iterator (coleção estática copiada da árvore a cada iteração) e Coleção Iterável (coleção mantém as referências aos elementos da árvore, sendo mais flexível, mas potencialmente dependente da árvore para funcionar eficientemente).
A classe abstrata Abstract Tree<E>
- Fornece uma implementação de métodos abstratos da interface Tree.
- Define um iterador para percorrer a árvore.
Árvore Binária
- Estrutura hierárquica com no máximo dois descendentes por nodo (esquerdo e direito).
Ligação dos nodos numa árvore binária
- Diagramas mostram a ligação dos nodos na estrutura da árvore binária.
Representação mais rigorosa das ligações numa árvore binária
- Diagramas mostram uma representação mais detalhada da ligação dos nodos na árvore binária.
A Interface BinaryTree<E>
- Interface para árvores binárias, onde cada nodo tem no máximo dois filhos.
- Métodos para obter os nodos esquerdo, direito e irmão de um determinado nodo.
A classe abstrata AbstractBinaryTree<E>
- Fornece métodos abstratos e suporte para a interface BinaryTree.
A classe LinkedBinaryTree<E>
- Implementação concreta de árvores binárias usando uma estrutura de nó ligada.
- Detalhes de classes internas Node<E> e métodos para criar/aceder/alterar nós na árvore binária.
- Métodos para obter o tamanho, a raiz, o pai, o filho esquerdo, o filho direito e manipular a árvore.
Árvore binária de pesquisa (ABP)
- Estrutura de dados para armazenar e pesquisar dados de forma eficiente.
- Os elementos são armazenados de acordo com uma ordem/propriedade, permitindo buscas com tempo logarítmico (O(log n)).
- Cada nodo tem um valor maior que os nodos na subárvore esquerda e menor que os nodos na subárvore direita.
Árvore binária de pesquisa (ABP) - exemplo
- Exemplo de árvore binária de pesquisa com valores inseridos.
A ABP SearchBinaryTree<E>
- Hierarquia de interfaces e classes para implementar Árvore Binária de Pesquisa (ABP).
Árvores de Decisão
- Usadas como instrumentos de apoio a decisões complexas.
- Um nodo interno representa uma condição (sim/não).
- O caminho na árvore representa um conjunto de decisões.
- Uma folha representa uma decisão a tomar.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Este questionário explora o conceito de árvores e suas variações, como árvores binárias, árvores de decisão e heaps. Aprenda sobre a hierarquia das estruturas em árvore e como implementar essas estruturas utilizando classes abstratas. Teste seu conhecimento sobre a abstração de nodos e suas funções dentro das árvores.