Classe Nó
Lição 3 de 16 do curso Árvore AVL - Série de Estruturas de Dados #10 da Coddy.
Cada nó na árvore armazena quatro coisas: seu value, ponteiros para um filho left e right, e sua própria height.
Um novo nó é uma folha, então sua altura começa em 1 e ele ainda não possui filhos.
Rastrear a altura diretamente no nó (em vez de recalculá-la percorrendo a árvore toda vez) é o que permite que cada operação posterior verifique o equilíbrio em tempo constante.
Desafio
InicianteEscreva uma classe Node com um construtor que recebe um value e o armazena, define left e right como null, e define height como 1.
Experimente você mesmo
#include <stdio.h>
#include "node.h"
int main(void) {
char line[256];
while (fgets(line, sizeof(line), stdin) != NULL) {
int v;
if (sscanf(line, "%d", &v) != 1) {
continue;
}
Node* n = Node_create(v);
if (n->left == NULL && n->right == NULL) {
printf("%d %d null null\n", n->value, n->height);
} else if (n->left == NULL) {
printf("%d %d null %d\n", n->value, n->height, n->right->value);
} else if (n->right == NULL) {
printf("%d %d %d null\n", n->value, n->height, n->left->value);
} else {
printf("%d %d %d %d\n", n->value, n->height, n->left->value, n->right->value);
}
}
return 0;
}
Todas as lições de Árvore AVL - Série de Estruturas de Dados #10
2Projeto de Árvore AVL
Classe NóClasse AVLTree