二叉搜索树中的插入与二叉树中的插入

Insertion in Binary Search Tree vs Insertion in Binary Tree

二叉搜索树(BST)和二叉树(BT)的插入有什么区别?我知道在 BST 中,你将新节点的值与根进行比较,如果较小,则将其添加到其左侧,如果较大,则将其添加到根的右侧。 BT的流程是一样的吗?如果不是,插拔是按照什么程序进行的?

根据 left/right,您不限于将子节点 <= 或 >= 到父节点。

只要每个节点最多有 2 个子节点,就可以将它们放在任何地方。

看来你对BT和BST的定义有误解。 首先你要知道BT和BST的区别

  • Binary Tree是一棵树,其节点最多有2 children。 将 children 存储到左侧或右侧分支并不取决于 children 值。
  • Binary Search Tree是二叉树,其中每个节点的childrens按照特定的顺序存储。 Children 小于 parent 节点通常存储在左侧分支,大于或等于右侧。

回答您的问题:

  • 在二叉树中插入你需要跟踪每个节点没有 超过2children。换句话说,要将元素添加到二叉树,您只需将它作为 child 添加到任何小于 2 children.
  • 的节点
  • 在搜索二叉树中插入你需要跟踪 children 以特定顺序存储(child 小于 parent 在左边,大于或等于在左边右)和 parent 最多 2 children.