【问题标题】:Finding maxium and minimum element in binary search tree [closed]在二叉搜索树中查找最大和最小元素[关闭]
【发布时间】:2020-11-01 01:08:05
【问题描述】:

我是新手编码员。今天我学习了二叉搜索树,看到了在 bst 中查找最小和最大元素的任务。这是我的代码。我每次都得到“-1”。

【问题讨论】:

  • 请在问题正文中提供代码。不要提供代码链接。
  • 你在找std::minmax_element吗?
  • 请勿张贴代码或任何其他文字作为图片,复制粘贴此处原文
  • 您永远不会将-1 插入到您的树中,并且您永远不会将-1 作为函数的失败条件返回,因此您所描述的问题是错误的,或者显示的代码不是代码你在跑。请以文本形式提供代码。
  • 当一个简单的循环就足够时不要使用递归......

标签: c++ search tree binary


【解决方案1】:

对于二叉树,如果你总是取最左边的孩子,你会找到min元素,如果你总是取最右边的孩子,你会找到max元素:

min_node = root;
while( min_node.left != NULL ) {
    min_node = min_node.left;
}

max_node = root;
while( max_node.right != NULL ) {
    max_node = max_node.right;
}

【讨论】:

    【解决方案2】:

    在 FinMin 和 FindMax 中交换“else if”和“else”语句,您将得到正确答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-21
      • 1970-01-01
      • 2012-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多