Avl tree

1310 palavras 6 páginas
#ifndef AVL_H
#define AVL_H #ifdef __cplusplus exterm "C" {
#endif

typedef struct AVL_Node
{
/* * Estrutura do nó da árvore AVL. * Contém um bit extra que informa * o grau de balanceamento da árvore. * Se for 0, 1 ou -1, a árvore está * balanceada. Se não, serão realizadas * algumas mudanças até que se balanceie */ char *info; // Informação contida no nó int bal; // Fator de balanceamento do nó struct AVL_Node *pai; // Aponta para o nó ancestral struct AVL_Node *esq; // Aponta para o filho da esquerda struct AVL_Node *dir; // Aponta para o filho da direita } AVL_Node; typedef struct AVL_Tree
{
/* * Estrutura que define a árvore AVL. * Aonde está guardada a raiz da árvore. * Contém ponteiros para funções que * manipulam as informações contidas na * árvore. * * A função que o ponteiro compara_info * aponta deverá retornar um valor inteiro * segundo a seguinte legenda: * +1 => Se o primeiro for maior * -1 => Se o segundo for maior * 0 => Se os dois forem iguais */ AVL_Node *root; // Raiz da árvore unsigned int num_nodes; // Número de nós da árvore // Função que compara duas informações int (*compara_info)( const void *, const void * ); // Função que imprime uma informação void (*imprime_info)( const void * ); } AVL_Tree; /* Funções para manipulação da árvore */ // Inicialização da árvore void avl_init ( AVL_Tree **, int (*compara_info)( const void *, const void * ), void (*imprime_info)( const void * )); // Insere um elemento na árvore int avl_insert ( AVL_Tree **, AVL_Node *, AVL_Node **, void * ); // Remove um elemento da árvore int avl_remove ( AVL_Tree **, AVL_Node **, void * ); // Realiza o

Relacionados

  • Arvore avl 100% funcional c
    682 palavras | 3 páginas
  • Arvor AVL
    647 palavras | 3 páginas
  • Árvores avl e sbb
    1470 palavras | 6 páginas
  • Pesquisa e Ordenação de dados
    775 palavras | 4 páginas
  • arvores binarios em java
    4192 palavras | 17 páginas
  • Arvore avl c++
    1024 palavras | 5 páginas
  • Texto enviado para o site
    2520 palavras | 11 páginas
  • Árvore de dados
    3578 palavras | 15 páginas
  • Classifica O E Pesquisa ETAPA 4
    1399 palavras | 6 páginas
  • aaaa
    288 palavras | 2 páginas