Menu
Coddy logo textTech

Drzewo zrównoważone

Lekcja 11 z 13 w kursie Drzewo binarne — struktury danych, seria #3 w Coddy.

W kolejnych wyzwaniach użyjesz drzewa BinaryTree, które zbudowałeś. Użyj udostępnionej implementacji, aby je rozwiązać.

challenge icon

Wyzwanie

Łatwy

Napisz funkcję o nazwie isBalanced, która otrzymuje ciąg znaków reprezentujący BinaryTree (rekurencyjna postać [value, leftSubtree, rightSubtree], z null dla pustego drzewa) i zwraca true, jeśli drzewo jest zrównoważone, a w przeciwnym razie false. Drzewo jest zrównoważone, jeśli dla każdego węzła wysokości jego dwóch poddrzew różnią się od siebie najwyżej o 1.

Spróbuj swoich sił

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

int main() {
    char s[4096];
    if (!fgets(s, sizeof(s), stdin)) s[0] = '\0';
    s[strcspn(s, "\r\n")] = '\0';
    printf("%s\n", isBalanced(s) ? "true" : "false");
    return 0;
}

Wszystkie lekcje w sekcji Drzewo binarne — struktury danych, seria #3

Poćwicz samodzielnie: Kompilator C online