algorithm - 二叉搜索树中的叶数

标签 algorithm binary-search-tree

有没有办法确切地知道二叉搜索树中有多少叶子?就像总能找到一些公式一样吗?例如,如果 BST 中有 100 个节点,您可以使用该值 (n=100) 找出有多少叶子吗?

最佳答案

It depends on the type of tree in question.

对于任何一般的“二叉搜索树”,如果没有进一步的说明或信息,我们无法确定。

可以是任何地方

  • 只有一个 (1) 叶(其中除最后一个节点外的所有节点都只有 1 个子节点 - 实际上是一个链表)
  • 最多 [ (n + 1)/2 ] 个叶子(其中所有节点,除了叶子,每个节点都有 2 个子节点。)

树的类型可以定义它有多少叶子。比如上面,后者就是“满”二叉树的定义。

关于algorithm - 二叉搜索树中的叶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26763667/

相关文章:

java - TreeSet搜索花费很长时间,谜题: to find lucky numbers

algorithm - 如何从最小-最大堆中删除最大元素?

c# - 在有向图中查找由某些属性隔离的子图

java - 在 Java 中使用数组添加两个 10 位数字

algorithm - 查找两个移动、旋转边界框相交的时间和位置

go - BST删除函数无法追踪问题

java - JAVA中更新二叉搜索树的父节点

tree - 不构建二叉搜索树的高度

c - 删除二叉搜索树根节点的问题

java - 二叉搜索树相加算法的实现