gpt4 book ai didi

algorithm - 对树的基本操作感到困惑

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

我们如何在二叉树中插入一个(不是 BST)?
我的意思是二叉树没有像 BST 这样的节点的某些属性,因此看起来可以在树中任何地方插入一个键。
然而,通过将 key 放在任何地方,二叉树可能会将其退化为失去其 O(logN) 属性的“列表”。
我已经看到使用合并方案创建二叉树(示例应用程序是 Huffman Tree),但似乎没有遇到二叉树的插入方法。
我认为这个问题扩展到多路树,因为二叉树将是多路树(2 个子节点)的具体示例,对吧?
我错了吗?是否有一种特定的方法可以将新 key 添加到二叉树中,或者二叉树的应用程序是否如此具体以至于合并操作就足够并且不需要插入方法?也许我完全错过了 BT 的使用应用程序或概念?

注意:我问的是二叉树。 不是二叉搜索树。


更新:
如果插入可以在任何地方,术语的含义是什么:Full Binary Tree
这意味着无法通过在任何地方插入来实现日志属性。 “Full BT”也是一个没有意义的定义吗?

最佳答案

二叉树是一种特定类型的树,满足每个节点恰好有 0、1 或 2 个子节点的条件。任何满足此条件的树都被标记为二叉树。

因此,不存在将元素插入二叉树的“正确”方法。只要之前是二叉树,之后是二叉树,插入都是有效的。

术语二叉树更多的是用于分类。在其纯粹的“抽象”形式下,它作为数据结构并不是非常有用。然而,它在表征其他更具体类型的树木时很有帮助,例如 Huffman tree正如你提到的。

关于algorithm - 对树的基本操作感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10775183/

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