给定一个非常大的二叉树(即有数百万个节点),如何处理确定树中节点的数量?换句话说,给定该树的根节点到函数,该函数应该返回树中的节点数。
或者说如果树有很多节点,你如何检查二进制树是否是BST?
答案 0 :(得分:1)
遍历所有节点并检查您需要的任何条件/指标。没有关于树的额外知识,你就别无他法。
您可以在创建树时强制执行特定条件(即必须进行平衡/排序/无论如何),或者在创建时收集有关树的信息(即存储并不断更新子项数)。
答案 1 :(得分:0)
要检查它是否为VALID bst,您必须先访问每个节点深度,并确保每个节点都小于之前的节点。
如果你想评估平衡BST需要多长时间,你可以通过计算一条腿的长度来快速估算大小,我相信总大小将在2 ^(n-1)之间。 2 ^ n-1包含