Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
给定一个非常大的二叉树(即具有数百万个节点),如何确定树中的节点数?换句话说,给定这棵树的根节点给一个函数,该函数应该返回树中的节点数。
或者让我们说如果二叉树有非常多的节点,你如何检查二叉树是否是 BST?
遍历所有节点并检查您需要的任何条件/指标。如果没有关于树的额外知识,您将无能为力。
您可以在创建树时强制执行特定条件(即必须平衡/排序/无论如何)或在创建时收集有关树的信息(即存储并不断更新子节点的数量)。
要检查它是否是有效的 bst,您必须首先访问每个节点深度并确保每个节点都小于前一个节点。
如果您想评估平衡 BST 需要多长时间,您可以通过计算一条腿的长度来快速估算尺寸,我相信总尺寸将在 2^(n-1) 和 2^n 之间-1 包括在内