Menu
Coddy logo textTech

Clase Nodo

Lección 3 de 16 del curso Árbol AVL - Serie de Estructuras de Datos #10 de Coddy.

Cada nodo en el árbol almacena cuatro cosas: su value, punteros a un hijo left y right, y su propia height. Un nodo completamente nuevo es una hoja, por lo que su altura comienza en 1 y aún no tiene hijos.

Rastrear la altura directamente en el nodo (en lugar de volver a calcularla recorriendo el árbol cada vez) es lo que permite que cada operación posterior verifique el equilibrio en tiempo constante.

challenge icon

Desafío

Principiante

Escribe una clase Node con un constructor que reciba un value y lo almacene, establezca left y right a null, y establezca height a 1.

Pruébalo tú mismo

#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 las lecciones de Árbol AVL - Serie de Estructuras de Datos #10