Menu
Coddy logo textTech

Düğüm Sınıfı

Coddy'nin AVL Tree - Veri Yapıları Serisi #10 kursunda ders 3 / 16.

Ağaçtaki her düğüm dört şey saklar: value değeri, left ve right alt düğüm işaretçileri ve kendi height değeri. Yepyeni bir düğüm bir yapraktır, bu nedenle yüksekliği 1 ile başlar ve henüz çocuğu yoktur.

Yüksekliği (her seferinde ağacı dolaşarak yeniden hesaplamak yerine) doğrudan düğüm üzerinde takip etmek, sonraki her işlemin dengeyi sabit zamanda kontrol etmesini sağlayan şeydir.

challenge icon

Görev

Başlangıç

Bir value alan ve bunu saklayan, left ve right değerlerini null olarak ayarlayan ve height değerini 1 olarak belirleyen bir yapıcıya (constructor) sahip Node sınıfını yazın.

Kendin dene

#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;
}

AVL Tree - Veri Yapıları Serisi #10 bölümündeki tüm dersler