Menu
Coddy logo textTech

Yüksekliği Al

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

AVLTree sınıfına, bir düğümün saklanan yüksekliğini okuyan bir getHeight yöntemi ekleyin. Tek püf noktası null durumudur: boş bir alt ağaç mevcut değildir, bu nedenle kural gereği yüksekliği 0'dır; bu da gerçek bir yaprağın 1 olan yüksekliğinden bir eksiktir.

Her yükseklik sorgusunu bu tek yöntem üzerinden yönlendirmek (her yerde doğrudan node.height değerini okumak yerine), null kontrolünün yalnızca bir kez yazılması gerektiği anlamına gelir.

challenge icon

Görev

Başlangıç

AVLTree üzerinde, eğer node null ise 0, aksi takdirde node.height değerini döndüren bir getHeight(node) metodu yazın.

Kendin dene

#include <stdio.h>
#include <string.h>
#include "avltree.h"

int main(void) {
    AVLTree* tree = AVLTree_create();
    char line[256];
    while (fgets(line, sizeof(line), stdin) != NULL) {
        line[strcspn(line, "\r\n")] = '\0';
        if (strcmp(line, "null") == 0) {
            printf("%d\n", AVLTree_getHeight(tree, NULL));
        }
        if (strcmp(line, "null") != 0) {
            int h;
            sscanf(line, "%d", &h);
            Node* n = Node_create(0);
            n->height = h;
            printf("%d\n", AVLTree_getHeight(tree, n));
        }
    }
    return 0;
}

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