小编use*_*031的帖子

检查树是否满足红黑树的黑高属性

如何递归检查给定的红黑树是否遵守"从节点到空链路的每条路径必须包含相同数量的黑节点"的规则.我正在使用这个结构:

enum color = {RED, BLACK};

typedef struct node {
    int value;
    struct node* left;
    struct node* right;
    color c;
} node;
Run Code Online (Sandbox Code Playgroud)

我试图使用这个原型实现一个算法:

bool isRBT(struct node* tree, int numberBlackNodesLeft, int numberBlackNodesRight)
Run Code Online (Sandbox Code Playgroud)

但是,我无法递归计算这些数字.因为,规则强制要求来自一个节点的每条路径都必须重复该规则.这对我来说很难实现.

请问有什么好主意吗?

提前致谢!

c c++ algorithm tree red-black-tree

2
推荐指数
1
解决办法
2247
查看次数

标签 统计

algorithm ×1

c ×1

c++ ×1

red-black-tree ×1

tree ×1