Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pablo Marcolino

Exercicios de estrutura de dados

Recommended Posts

NÃO ESTOU CONSEGUINDO FAZER ALGUÉM PODE ME AJUDA?

post-725321-0-56579800-1401653768_thumb.

 

post-725321-0-84641100-1401653770_thumb.


Questão 1
Construa a árvore balanceada AVL de inteiros para a sequência: 2, 1, 0, 3, 4, 9, 5, 6, 8, 10, 7.
Obs. Não é necessário enviar a árvore construída.
Considerando a seguinte estrutura de nós para a árvore AVL construída:
typedef struct s_cel{
int val,alt;
struct s_cel *esq,*dir;
} cel;
Mostre o resultado da execução da seguinte rotina caso seja passado como parâmetro a raiz da árvore construída:
int calcula(cel *esse) {
int total;
if(esse == NULL)
return 0;
total = esse->val;
total += calcula(esse->dir);
total += calcula(esse->esq);
printf(“Subarvore em %d = %d“,esse->val,total);
return total;
}
Questão 2 (1,0 ponto)
Escreva uma rotina que receba a raiz de uma árvore cujos nós têm a estrutura definida na questão 1 e que calcule a altura de cada nó registrando o resultado no campo alt da estrutura.
-------------------------------------------------------------------------------------------------------------------
As questões 3 e 4 se referem ao seguinte problema: deseja-se implementar uma árvore binária de busca para armazenar um conjunto de livros. Os livros são definidos pelo ano da publicação, título, nome do primeiro autor e número de páginas. A árvore binária vai organizar os livros por ano. Cada nó da árvore corresponde a um ano e contém uma lista encadeada com os livros publicados naquele ano. Considere que a árvore esta ordenada por ano. As estruturas de dados da árvore são as seguintes:
typedef struct s_cel{
int ano;
livro *inicio;
struct s_cel *esq,*dir;
} cel;
typedef struct s_livro {
char titulo[100],autor[100];
int pags;
struct s_livro *prox;
} livro;
Questão 3 (3,0 pontos)
Escreva uma rotina recursiva que receba um ano e a raiz da árvore e mostre os dados de todos os livros publicados naquele ano. A busca deve ser otimizada considerando que a árvore está ordenada.
Questão 4 (3,0 pontos)
Escreva uma rotina recursiva que receba a raiz da árvore e que retorne o ano para o qual existem mais livros e quantos livros são.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, Pablo.

 

Antes de mais nada, você precisa seguir as nossas convenções:

 

1. Entenda quais são suas dúvidas - saiba quais perguntas objetivas sobre C ou C++ você pode postar aqui e que, se respondidas, vão te ajudar a resolver esses exercícios. É extremamente ruim colocar enunciados aqui e não incluir as suas próprias dúvidas.

 

2. Nunca use caps lock. Na Internet, escrever assim significa que você está gritando.

 

3. Crie títulos informativos (exemplo: Balanceamento de Árvore AVL).

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.