gpt4 book ai didi

algorithm - 创建二叉树(但不是 BST)

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:23:41 24 4
gpt4 key购买 nike

当我创建 BST 时,在插入节点期间我检查新节点的值是小于左子节点还是大于右子节点。然后我向下遍历,直到找到插入节点的正确位置。现在假设我有一棵二叉树,我想创建一棵树,我该怎么做?我需要使用 BFS 算法吗?

谢谢

最佳答案

这不是插入在 BST 中的工作方式,新值应该与当前节点而不是其子节点进行比较,如果它小于当前节点的值,则向左遍历如果有左节点,则将值与其比较,如果不存在左节点,则将值插入那里.右侧也是如此,但如果比较结果大于当前节点(BST 中没有重复值)。

你的问题是关于如何创建二叉树而不是 BST,如果你想要一个构造完整二叉树的简单二叉树,那么只需从左到右逐层插入节点即可。当然,BFS 是逐层工作的,但它是一种搜索算法,您不需要搜索整个树,因为您是从头开始构建它。

编辑:如果你想要一个更简单的二叉树构造版本,只需在一个分支中一直向下插入 2 个节点而不回溯,即使你也插入 1 个节点仍然是一个二叉树。

其他编辑:每个BST都是一个二叉树并且每个二叉树都是一个并且这个论点不能倒过来(例如,不是每个 BT 都是 BST ......等等)。所以如果你有一个 BT,它就已经是一棵树了。

问候,

关于algorithm - 创建二叉树(但不是 BST),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23775241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com