Estruturas de Dados: Árvores

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Na árvore binária de pesquisa fornecida, qual nó seria o pai de '30'?

  • 35
  • 5
  • 28 (correct)
  • 20

Na hierarquia de classes apresentada, qual classe herda diretamente de AbstractBinaryTree?

  • LinkedBinaryTree (correct)
  • Tree
  • BinaryTree
  • SearchBinaryTree

De acordo com a estrutura da árvore binária de pesquisa, qual nó seria o filho direito de '80'?

  • 105
  • 85
  • 70
  • 84 (correct)

Qual das seguintes classes na hierarquia apresentada é uma interface?

<p>Tree (D)</p> Signup and view all the answers

Na árvore binária de pesquisa, qual é o ancestral mais próximo comum de '25' e '30'?

<p>28 (C)</p> Signup and view all the answers

Qual é o principal objetivo da abstração Position na interface da ADT Árvore?

<p>Ocultar a implementação específica do nodo, expondo apenas o método <code>getElement()</code> para acesso ao elemento armazenado. (B)</p> Signup and view all the answers

Qual método é definido na interface Position?

<p><code>getElement()</code> (A)</p> Signup and view all the answers

Como a interface Position contribui para o encapsulamento na ADT Árvore?

<p>Restringindo o acesso aos detalhes internos do nodo, permitindo apenas a consulta do elemento. (C)</p> 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?

<p>Para conseguir referenciar os nodos ao nível da interface da árvore, antes de estes serem definidos concretamente. (A)</p> 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)?

<p>A classe <code>Node</code> implementa a interface <code>Position</code>. (A)</p> Signup and view all the answers

Qual das seguintes estruturas de dados é melhor para representar informações hierárquicas?

<p>Árvores (D)</p> Signup and view all the answers

Em uma estrutura de árvore, como são chamados os nós que não possuem descendentes?

<p>Folhas (A)</p> 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?

<p>Um nó só pode ter um pai. (A)</p> Signup and view all the answers

Qual é a finalidade do método node(Position p) na classe LinkedBinaryTree?

<p>Validar e converter uma <code>Position</code> para um <code>Node</code>. (A)</p> Signup and view all the answers

Na implementação de árvores, a combinação de classes abstratas e concretas visa principalmente qual objetivo?

<p>Reutilização de código (D)</p> 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?

<p>Que <code>p</code> não tem um filho esquerdo. (D)</p> Signup and view all the answers

Qual tipo de nó se encontra no topo da hierarquia em uma árvore?

<p>Raiz (C)</p> Signup and view all the answers

Qual operação é realizada pelo método addRoot(E e)?

<p>Adiciona um novo nó como raiz, se a árvore estiver vazia. (C)</p> Signup and view all the answers

Quais são exemplos de aplicações de estruturas em árvore mencionadas no texto?

<p>Classificação de seres vivos e árvores genológicas (C)</p> Signup and view all the answers

O que acontece com o tamanho da árvore ao executar addLeft(Position p, E e)?

<p>O tamanho da árvore é incrementado em 1. (B)</p> Signup and view all the answers

Em relação à hierarquia da implementação de árvores, o que representa a classe AbstractTree?

<p>Uma classe abstrata para árvores genéricas. (A)</p> Signup and view all the answers

O que o método parent(Position p) da LinkedBinaryTree retorna?

<p>O nó pai da posição <code>p</code>. (C)</p> Signup and view all the answers

No contexto da implementação de árvores, o que é a JCF?

<p>Uma biblioteca de classes abstratas e concretas para estruturas de dados. (D)</p> Signup and view all the answers

Qual condição impede a adição de um novo nó como raiz usando addRoot(E e)?

<p>Se a árvore já possuir um nó raiz. (A)</p> Signup and view all the answers

Em qual cenário o método addLeft(Position p, E e) retornaria null?

<p>Quando o nó em <code>p</code> já possui um filho esquerdo. (C)</p> Signup and view all the answers

Qual é a principal aplicação de uma árvore de decisão no contexto de Inteligência Artificial?

<p>Representação de algoritmos de aprendizagem automática, onde a árvore cresce automaticamente com base em dados. (C)</p> Signup and view all the answers

Qual a complexidade de pesquisa em uma árvore binária de pesquisa balanceada?

<p>Logarítmica, O(log n), visto que o número de iterações é proporcional ao número de níveis. (D)</p> Signup and view all the answers

Numa árvore binária de pesquisa, qual a regra de organização dos nodos?

<p>O elemento de um nodo é sempre maior do que qualquer elemento na subárvore esquerda e menor na subárvore direita. (B)</p> Signup and view all the answers

Como as folhas (nodos sem filhos) se comportam numa árvore binária de pesquisa?

<p>As folhas armazenam elementos e não realizam decisões, sendo nodos finais na busca. (C)</p> 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?

<p>Mais de 1 milhão de elementos, até um limite de 1048575 elementos. (A)</p> Signup and view all the answers

Qual a principal diferença entre uma árvore binária de pesquisa e uma árvore de decisão?

<p>A árvore binária de pesquisa usa hierarquia para organização e pesquisa, e a árvore de decisão é usada para tomada de decisões baseadas em atributos. (D)</p> 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'?

<p>$n = 2^k - 1$ (A)</p> Signup and view all the answers

Qual a semelhança entre uma árvore binária de pesquisa e uma árvore de decisão?

<p>Em ambas, a questão em um nodo interno é se o elemento procurado é maior ou menor que o elemento guardado. (C)</p> Signup and view all the answers

Qual método da interface BinaryTree retorna a posição do nó esquerdo de um nó dado?

<p><code>left(Position p)</code> (D)</p> 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?

<p>Retorna <code>null</code>. (C)</p> Signup and view all the answers

Qual o objetivo do método numChildren(Position p) na classe AbstractBinaryTree?

<p>Retornar a quantidade de filhos (nós filhos) que o nó <code>p</code> possui. (C)</p> Signup and view all the answers

Qual tipo de dado é retornado pelo método children(Position p) da classe AbstractBinaryTree?

<p>Uma coleção (Iterable) de objetos <code>Position</code> representando os filhos. (A)</p> Signup and view all the answers

Na classe aninhada Node dentro da classe LinkedBinaryTree, qual atributo armazena o nó filho esquerdo?

<p><code>left</code> (A)</p> Signup and view all the answers

O que o método getParent() na classe Node dentro de LinkedBinaryTree retorna?

<p>O nó pai do nó atual. (D)</p> Signup and view all the answers

Qual o propósito do método setElement(E e) na classe Node?

<p>Atualizar o elemento armazenado no nó. (C)</p> Signup and view all the answers

Se um nó na classe LinkedBinaryTree não tem filho esquerdo, o que o método getLeft() retornará?

<p><code>null</code>. (D)</p> 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)?

<p>Eles compartilham um mesmo pai. (C)</p> Signup and view all the answers

Qual interface define os métodos left(Position p), right(Position p), e sibling(Position p)?

<p><code>BinaryTree</code> (A)</p> Signup and view all the answers

Como a classe AbstractBinaryTree implementa o método sibling(Position p)?

<p>Verificando se <code>p</code> é filho esquerdo e retornando o filho direito (se existir), ou vice-versa. (B)</p> Signup and view all the answers

Na classe LinkedBinaryTree, o que representa o atributo element na classe Node?

<p>O valor armazenado no nó. (A)</p> Signup and view all the answers

Qual é a capacidade inicial da lista criada dentro do método children(Position p) da classe AbstractBinaryTree?

<p>2 (C)</p> 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?

<p>Retorna <code>null</code>. (B)</p> Signup and view all the answers

Qual método da classe Node permite atualizar a referência para o nó filho direito?

<p><code>setRight()</code> (B)</p> Signup and view all the answers

Em qual situação o algoritmo de inserção numa ABP (Árvore Binária de Pesquisa) simplesmente atualiza um elemento existente?

<p>Quando o elemento a ser inserido é igual ao elemento do nó corrente. (D)</p> Signup and view all the answers

Ao inserir um elemento 'e' em uma árvore de pesquisa binária, o algoritmo busca inicialmente o nó raiz da subárvore. Qual é o critério utilizado para determinar o local de inserção de 'e' em relação à raiz?

<p>Se 'e' for menor que o elemento da raiz, 'e' é inserido na subárvore esquerda; caso contrário, é inserido na subárvore direita. (B)</p> Signup and view all the answers

Se o elemento 'e' a ser inserido já existe na árvore de pesquisa binária, qual procedimento é realizado?

<p>O elemento existente é substituído pelo novo elemento 'e'. (C)</p> Signup and view all the answers

No método put(Node n, E e) da classe SearchBinaryTree, qual a função da condição compEN(e,n)==0?

<p>Verificar se o elemento 'e' é igual ao elemento do nó 'n'. (C)</p> Signup and view all the answers

Qual é o objetivo principal do método remove() usado na remoção de um nó com menos de dois filhos em uma árvore de pesquisa binária?

<p>Remover o nó e reordenar a árvore para manter a propriedade de ordem. (D)</p> Signup and view all the answers

Qual é a complexidade de tempo média para inserir um elemento em uma árvore de pesquisa binária balanceada?

<p>O(log n) (B)</p> Signup and view all the answers

No contexto da remoção de um nó em uma árvore de pesquisa binária, qual das seguintes situações exige a substituição do nó por um nó de outra posição na árvore?

<p>Quando o nó a ser removido possui dois filhos. (C)</p> Signup and view all the answers

O algoritmo de inserção recursivo apresentado no texto utiliza uma abordagem de 'divisão e conquista'. Qual é o objetivo da recursão nesse algoritmo?

<p>Comparar o elemento a ser inserido com a raiz da subárvore atual e decidir onde continuar a busca recursivamente. (D)</p> Signup and view all the answers

A remoção de um nó com um único filho em uma árvore de pesquisa binária é relativamente simples. Qual das seguintes opções descreve corretamente o processo?

<p>O nó é removido e seu filho é movido para a posição do nó removido, sem necessidade de reordenamento na árvore. (C)</p> Signup and view all the answers

Qual é a restrição imposta à classe E para que uma SearchBinaryTree funcione corretamente?

<p>A classe <code>E</code> deve implementar a interface <code>Comparable</code>. (B)</p> Signup and view all the answers

Por que os métodos addRoot(E e), addLeft(Position p, E e), e addRight(Position p, E e) lançam uma exceção UnsupportedOperationException na classe SearchBinaryTree?

<p>Esses métodos não garantem a organização específica de uma árvore binária de pesquisa. (B)</p> Signup and view all the answers

Qual é o propósito do método compEN(E e, Node n) na classe SearchBinaryTree?

<p>Comparar o elemento <code>e</code> com o elemento do nó <code>n</code> para determinar sua posição na árvore. (D)</p> Signup and view all the answers

O que a função e.compareTo(n.getElement()) retorna se o elemento e é menor que o elemento do nó n?

<p>Um número negativo. (D)</p> Signup and view all the answers

Flashcards

Position (em Árvores)

Representa uma abstração para um nodo em uma árvore, escondendo seus detalhes internos e expondo apenas um método para acessar o elemento que ele armazena.

Interface da ADT Árvore

Interface que define as operações básicas de uma árvore, como inserir, remover, buscar, verificar se está vazia, etc.

Classe Node

A classe Node, que implementa a interface Position, representa a estrutura interna de um nodo em uma árvore, incluindo seus dados e referências para outros nodos.

Abstração com Position

A interface Position permite que as estruturas de dados que implementam a ADT Tree sejam usadas de forma mais abstrata, sem precisar conhecer os detalhes da implementação dos nodos.

Signup and view all the flashcards

Encapsulamento e Abstração com Position

A abstração Position garante que o acesso aos elementos dos nodos só seja possível através do método getElement(), garantindo assim os princípios de abstração e encapsulamento.

Signup and view all the flashcards

Estrutura em árvore

Uma estrutura de dados que organiza informações de forma hierárquica, como uma árvore invertida.

Signup and view all the flashcards

Nodo raiz

O nodo superior de uma árvore, a partir do qual todos os outros nodos descendem.

Signup and view all the flashcards

Nodos terminais

Nodos que não têm descendentes, representando o fim de um ramo na árvore.

Signup and view all the flashcards

Nodos intermédios

Nodos que possuem pelo menos um descendente.

Signup and view all the flashcards

Árvore n-ária

Uma estrutura de dados em árvore onde cada nodo pode ter um número arbitrário de filhos.

Signup and view all the flashcards

Árvore binária

Uma estrutura de dados em árvore onde cada nodo pode ter no máximo dois filhos.

Signup and view all the flashcards

Árvore binária de pesquisa

Uma árvore binária onde a chave de cada nodo é maior que a chave de todos os nodos à sua esquerda e menor que a chave de todos os nodos à sua direita.

Signup and view all the flashcards

Árvore AVL

Uma árvore binária de pesquisa que garante um balanceamento, evitando casos extremos de altura e otimizando a busca.

Signup and view all the flashcards

Node (Nó)

Um nó da árvore. Cada nó contém um valor, apontadores para o pai, filho esquerdo e filho direito.

Signup and view all the flashcards

Tamanho da árvore (size)

O número de nós em uma árvore, incluindo o nó raiz.

Signup and view all the flashcards

Raiz da árvore (root)

O nó que não tem pai. É o nó superior da hierarquia.

Signup and view all the flashcards

Método parent()

Um método que retorna a posição do pai de um nó dado. Se o nó é a raiz, retorna null.

Signup and view all the flashcards

Método left()

Um método que retorna a posição do filho esquerdo de um nó dado.

Signup and view all the flashcards

Método right()

Um método que retorna a posição do filho direito de um nó dado.

Signup and view all the flashcards

Método addLeft()

Um método que adiciona um novo nó como filho à esquerda de um nó existente. Se o nó já possui um filho esquerdo, retorna null.

Signup and view all the flashcards

Método addRoot()

Um método que adiciona um novo nó como raiz da árvore enquanto está vazia.

Signup and view all the flashcards

Árvore Binária de Pesquisa (ABP)

Uma estrutura de dados hierárquica em que cada nó tem no máximo dois filhos, chamados de filho esquerdo e filho direito. Os nós são organizados de forma que o valor de cada nó é maior que o valor de todos os nós em sua subárvore esquerda e menor que o valor de todos os nós em sua subárvore direita.

Signup and view all the flashcards

Nó Raiz de uma ABP

O nó raiz de uma ABP é o nó que não tem pai. É o ponto de partida para navegar na árvore.

Signup and view all the flashcards

Nós Folha de uma ABP

Os nós de uma ABP que não têm filhos são chamados de nós folhas. São os nós terminais da árvore.

Signup and view all the flashcards

ABP Balanceada

Uma ABP é chamada de 'balanceada' se a altura das subárvores esquerda e direita de cada nó não difere muito. Isso garante uma pesquisa eficiente em todos os casos.

Signup and view all the flashcards

Altura de uma ABP

A altura de uma ABP é a distância do nó raiz até a folha mais distante. Reflete a profundidade da árvore.

Signup and view all the flashcards

Eficiência da ABP

A estrutura da ABP garante que a busca por um elemento específico seja feita em tempo logarítmico. Isso significa que o tempo necessário para encontrar um elemento aumenta lentamente com o tamanho da coleção.

Signup and view all the flashcards

Organização de Nós em uma ABP

O elemento em cada nó da ABP é maior do que qualquer elemento em sua subárvore esquerda e menor do que qualquer elemento em sua subárvore direita.

Signup and view all the flashcards

Comparação em uma ABP

Cada nó interno de uma ABP representa uma comparação entre o elemento que está sendo buscado e o elemento armazenado no nó.

Signup and view all the flashcards

Folhas em uma ABP

Nodos que não possuem filhos em uma ABP são chamados de folhas.

Signup and view all the flashcards

Semelhança entre ABP e Árvore de Decisão

A ABP é similar à Árvore de Decisão em que cada nó interno representa uma decisão.

Signup and view all the flashcards

Árvore de Decisão

Uma Árvore de Decisão é um algoritmo de Machine Learning que cria um modelo ramificado para prever um resultado com base em dados de entrada.

Signup and view all the flashcards

Aprendizagem em Árvore de Decisão

Quando usada em Machine Learning, a Árvore de Decisão aprende automaticamente a estrutura da árvore a partir dos dados fornecidos.

Signup and view all the flashcards

Raiz da Árvore

O nó principal de uma árvore binária, que não possui um pai e é o ponto de partida para navegar na árvore.

Signup and view all the flashcards

Nó Folha

Um nó que não possui filhos. É o nó final de um ramo.

Signup and view all the flashcards

Pai de um Nó

O nó que está imediatamente acima de um nó dado na árvore, conectando-o ao resto da estrutura.

Signup and view all the flashcards

Filhos de um Nó

Os nós que estão diretamente abaixo de um nó dado. Cada nó pode ter no máximo dois filhos.

Signup and view all the flashcards

Irmão de um Nó

Um nó que compartilha o mesmo pai com outro nó.

Signup and view all the flashcards

Interface BinaryTree

Uma representação abstrata de uma árvore binária, com métodos para acessar e modificar seus nós. Define as operações básicas para trabalhar com árvores binárias.

Signup and view all the flashcards

Classe Abstrata AbstractBinaryTree

Uma classe abstrata que implementa a interface BinaryTree, fornecendo implementações padrão para algumas operações.

Signup and view all the flashcards

LinkedBinaryTree

Uma classe que implementa a interface BinaryTree, usando uma estrutura de nós ligados para representar a árvore binária.

Signup and view all the flashcards

Node na LinkedBinaryTree

Um objeto que representa um nó na árvore binária. Cada nó contém os dados, referência ao pai e referências aos filhos.

Signup and view all the flashcards

getElement() na classe Node

Um método na classe Node que retorna o elemento armazenado nesse nó.

Signup and view all the flashcards

getParent() na classe Node

Um método na classe Node que retorna o nó pai.

Signup and view all the flashcards

getLeft() na classe Node

Um método na classe Node que retorna o nó filho esquerdo.

Signup and view all the flashcards

getRight() na classe Node

Um método na classe Node que retorna o nó filho direito.

Signup and view all the flashcards

setElement() na classe Node

Um método na classe Node que define um novo elemento para o nó.

Signup and view all the flashcards

Elementos comparáveis em ABP

Os elementos em uma Árvore Binária de Pesquisa devem ser comparáveis para ordenar os nós.

Signup and view all the flashcards

Classe SearchBinaryTree

Classe que estende LinkedBinaryTree mas não permite certas operações para preservar a estrutura da ABP.

Signup and view all the flashcards

Método compEN

Método auxiliar que compara um elemento com um nodo em uma ABP.

Signup and view all the flashcards

Exceções em ABP

Operações como addRoot e addLeft lançam exceções para impedir inserções inválidas na ABP.

Signup and view all the flashcards

Comparação em ABP

Cada nó interno em uma ABP realiza uma comparação entre o elemento buscado e o do nodo.

Signup and view all the flashcards

Inserção numa ABP

Processo de adicionar um novo elemento a uma árvore binária de pesquisa garantindo que a estrutura permaneça válida.

Signup and view all the flashcards

ABP nula

Uma árvore binária de pesquisa vazia, que recebe um elemento como seu nodo raiz.

Signup and view all the flashcards

Algoritmo recursivo

Um método que chama a si mesmo para resolver subproblemas menores, facilitando a inserção em árvores.

Signup and view all the flashcards

Caminhada descendente

O processo de percorrer a árvore, seguindo filhos à esquerda ou direito até encontrar um local vazio.

Signup and view all the flashcards

Atualização de elemento

Modificar um elemento existente em vez de inserir se um elemento igual já existir na árvore.

Signup and view all the flashcards

Nó corrente

O nodo atualmente examinado ou onde a inserção ou atualização está ocorrendo durante o algoritmo.

Signup and view all the flashcards

Elementos iguais

Quando um novo elemento a ser inserido na árvore já existe, a ação pode ser ignorada ou o elemento pode ser atualizado.

Signup and view all the flashcards

Inserção em Árvore Binária de Pesquisa

Processo de adicionar um elemento em uma árvore respeitando as regras da árvore binária de pesquisa.

Signup and view all the flashcards

Adição de Filho Esquerdo

Se o elemento é menor que o nodo atual e não há filho à esquerda, o novo elemento é adicionado como esse filho.

Signup and view all the flashcards

Adição de Filho Direito

Se o elemento é maior que o nodo atual e não há filho à direita, o novo elemento é adicionado como esse filho.

Signup and view all the flashcards

Remoção de Nodo

O processo de retirar um nodo da árvore, que pode incluir substituir o nodo ou reajustar a estrutura.

Signup and view all the flashcards

Substituição de Nodo

Quando um nodo a ser removido tem dois filhos, ele é substituído pelo nodo com o menor valor na subárvore direita.

Signup and view all the flashcards

Método Recursivo de Inserção

Uma função que chama a si mesma para inserir um elemento na subárvore, respeitando sua estrutura.

Signup and view all the flashcards

Estrutura da Classe SearchBinaryTree

Classe que estende LinkedBinaryTree e implementa inserção de elementos usando um método público.

Signup and view all the flashcards

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.
  • Métodos 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.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser