什么是二叉树?

二进制树是一种分层数据结构,其中每个节点具有零个,一个或最多两个子级。 每个节点包含一个“左”指针,一个“右”指针和一个数据元素。 “根”指针表示树中的最高节点。 数据结构中的每个节点都直接连接到任意一侧的任意数量的节点(称为子节点)。 空指针表示二叉树。 对于如何在二叉树中组织节点没有特定的顺序。 没有子节点的节点称为叶节点或外部节点。

二叉树和二叉搜索树

简而言之,它在节点上定义了一个有组织的标记函数,该函数依次为每个节点分配一些随机值。具有两个子节点和一个父节点的任何事物都是二叉树。二进制树用于存储形成层次结构的信息,例如个人计算机上的文件系统。与数组不同,树没有节点数上限,因为树是使用指针链接的,例如链接列表。二叉树的主要功能包括表示分层数据,对数据列表进行排序,提供有效的插入/删除操作等。树节点使用C中的结构表示。

什么是二叉搜索树?

二进制搜索树是一种二进制树数据结构,其中节点按顺序排列,因此也称为“有序二进制树”。这是一种基于节点的数据结构,可提供一种高效,快速的排序,检索和搜索数据的方法。对于每个节点,左子树中的元素必须小于或等于其父节点中的键(L <P),右子树中的元素必须大于或等于其父节点中的键( R> P)。不应有重复的键。简而言之,它是一种特殊的二叉树数据结构,可以有效地存储和管理内存中的项目。

它可以快速访问信息,插入和删除数据,还可以用于实现查找表,从而可以通过其唯一键来搜索项目,例如,按姓名搜索人的电话号码。 唯一键以有组织的方式排序,因此可以使用二进制搜索执行查找和其他动态操作。 它支持三个主要操作:元素搜索,元素插入和元素删除。 二进制搜索树允许快速检索存储在树中的元素,因为每个节点密钥都与根节点进行了彻底比较,后者会丢弃树的一半。

二叉树和二叉搜索树之间的对比

  • 二叉树和二叉搜索树的定义 – 二叉树是一个分层数据结构,其中一个子节点可以有零个,一个或最多两个子节点。每个节点包含一个左指针,一个右指针和一个数据元素。节点在树中的组织方式没有特别的顺序。另一方面,二叉搜索树是有序的二叉树,其中有一个关于节点组织方式的相对顺序。
  • 二叉树和二叉搜索树的结构 – 树中的最高节点代表二叉树中的根指针,左,右指针代表两侧的较小树。这是树的一种特殊形式,以树结构表示数据。另一方面,二叉搜索树是一种二叉树,其中左子树中的所有节点均小于或等于根节点的值,而右子树中的所有节点均大于或等于该值根节点的
  • 二叉树和二叉搜索树的操作 - 二叉树可以是具有两个子级和一个父级的任何事物。可以在二叉树上执行的常见操作是插入,删除和遍历。二进制搜索树更多是分类的二进制树,可以快速有效地查找,插入和删除项目。与二叉树不同,二叉搜索树将其键排序,因此查找通常实现对操作的二叉搜索。
  • 二叉树和二叉搜索树的类型 – 二叉树有不同类型,常见的是“完整二叉树”,“完整二叉树”,“完美二叉树”和“扩展二叉树”。二进制搜索树的一些常见类型包括T树,AVL树,Splay树,Tango树,红黑树等。
二叉树 二叉搜索树
二进制树是树的一种特殊形式,代表树结构中的分层数据。 二进制搜索树是一种二进制树,它使关键字保持排序顺序以便快速查找。
每个节点最多必须有两个子节点,并且每个节点都通过有向边与另一个节点正好相连。 左子树中节点的值小于或等于根节点的值,而右子树中的节点的值大于或等于根节点的值。
节点的组织方式没有相对顺序。 它遵循如何在树中组织节点的明确顺序。
它基本上是分层数据结构,是称为节点的元素的集合。 这是二叉树的一种变体,其中节点以相对顺序排列。
它用于以树状结构快速有效地查找数据和信息。 它主要用于元素的插入,删除和搜索。

总结

两者都模拟了代表节点集合的分层树结构,每个节点代表一个值,但它们在实现和利用方式上却大不相同。 二叉树遵循一个简单的规则,即每个父节点不超过两个子节点,而二叉搜索树只是二叉树的一种变体,它遵循节点在树中的组织方式的相对顺序。

欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:二叉树和二叉搜索树
本文链接:https://www.vsdiffer.com/vs/binary-tree-vs-binary-search-tree.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。