Árvore binária com costura
Origem: Wikipédia, a enciclopédia livre.
Sinta-se livre para editá-la para que esta possa atingir um nível de qualidade superior.
Este artigo não possui um contexto definido, ou seja, não explica de forma clara e objetiva o tema que aborda. Por favor, adicione ou modifique informações para que se esclareça o contexto deste artigo.
- Seja ESQ um campo de nó 'V' que contém nulo (null), ESQ pode apontar para a nó anterior a 'V' considerando um determinado percursso.
- Para destingir que o ponteiro contém ao invés de uma subarvore, uma ligação de costura, adiciona-se valor lógico.
Exemplo da estrura da árvore com costura em C:
struct nodo { int chave; struct nodo *ESQ; struct nodo *DIR; int Ecost, Dcost; }
Exemplo de código da árvore:
struct nodo *predecessor (struct nodo *p) { struct nodo *aux; if(p-> Ecost== 1)aux = p-> ESQ; else{ aux = p->ESQ; while(aux-> Dcost == 0) { aux = aux-> DIR; return aux; } } } struct nodo *sucessor(struct nodo *p) { struct nodo *aux; if(p-> Dcost== 1)aux = p-> DIR; else{ aux = p->DIR; while(aux-> Dcost == 0) { aux = aux-> ESQ; return aux; } }