Cây cân bằng
Bài học 11 trên 13 trong khóa học Cây nhị phân, chuỗi cấu trúc dữ liệu #3 của Coddy.
Các thử thách tiếp theo sử dụng BinaryTree mà bạn đã xây dựng. Hãy dùng phần triển khai được cung cấp để giải các thử thách này.
Thử thách
DễViết một hàm (function) có tên isBalanced, nhận một chuỗi biểu diễn BinaryTree (dạng đệ quy [value, leftSubtree, rightSubtree], dùng null cho cây rỗng) và trả về true nếu cây cân bằng, nếu không thì trả về false. Cây cân bằng nếu với mọi nút, chiều cao của hai cây con chênh lệch nhiều nhất 1.
Tự làm thử
#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;
}
Tất cả bài học trong Cây nhị phân, chuỗi cấu trúc dữ liệu #3
Tự luyện tập: Trình biên dịch C online