Arvore Binaria
#include
#include
#include
#include
#include
#include
/*
Estrutura de dados II
ÁRVORES DE BUSCA
Sabe-se que as árvores de busca podem ser uma excelente estrutura para o armazenamento e a recuperação de grande volume de chavermações.
Há vários tipos de árvores de busca: de ordem 2 (binária) ou de ordem superior (n-árias), árvores B (balanceadas), ou ainda suas variações, como árvores B* ou B+, por exemplo.
Este trabalho consiste em implementar as funções abaixo para a manipulação de árvores binárias de busca, além das já disponibilizadas (inserção, remoção, percurso em ordem, percurso em largura e consulta). As árvores deverão ser lidas e salvas em um arquivo (veja o programa "arquivo.c" para ajudá-lo nessa tarefa).
*/
/////////////////////////////////////////////////////////////////////////////////////
// DEFINIÇÃO DE ESTRUTURAS //////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
struct arvore
{
int chave; struct arvore *direita; struct arvore *esquerda;
};
struct fila
{
struct arvore *conteudo; struct fila *proximo;
};
/////////////////////////////////////////////////////////////////////////////////////
// PROTÓTIPOS DAS FUNÇÕES ///////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
void alt_enter(); void ler_arquivo(arvore **raiz); void gerar_do_arquivo(int dados[]); void salvar_arvore(arvore *raiz, int tipo); void salvar_arquivo(char dados[]); void inserir_arvore(arvore *raiz); void enfileirar(arvore *raiz, fila **fila); void inserir(arvore **raiz, int n); void remover(arvore **raiz, int n); void remover2(arvore **raiz, int n); // a void em_ordem(arvore *raiz); void largura(arvore *raiz); void pos_ordem(arvore *raiz); //