二叉树,二叉搜索树,二叉搜索

Posted

技术标签:

【中文标题】二叉树,二叉搜索树,二叉搜索【英文标题】:Binary Tree, Binary Search Tree, Binary search 【发布时间】:2017-12-05 05:57:36 【问题描述】:

我正在尝试理解二叉树并参考在线资料和 SO 中提出的问题。

我明白了:

二叉树 -> 每个节点最多可以有 2 个节点的树。

二叉搜索树 -> 二叉树的特殊形式,其中左节点值父节点

我们有一种叫做二分搜索的东西吗?

如果二叉搜索树是一种数据结构,为什么它里面有“搜索”?给人一种算法的感觉?

我还是不太清楚,谁能帮忙解惑。

编辑

这不是出现的 SO 问题的重复,它是关于询问“搜索”导致用词不当。

【问题讨论】:

Difference between binary tree and binary search tree的可能重复 我的问题是关于二叉搜索树,用词不当,这不是重复的 【参考方案1】:

有一种称为二分搜索的搜索算法,它的执行时间为 O(log n)。二叉搜索树是一种旨在促进搜索(二叉搜索)的数据结构,因为节点值按以下顺序排列:left difference of height between left child and right child > 1。输入称为自平衡二叉搜索树的更高效(就搜索性能而言)二叉搜索树,它会在插入和删除后自动调整其高度。

【讨论】:

另请注意,二进制搜索的数据必须有组织(升序、降序等)。

以上是关于二叉树,二叉搜索树,二叉搜索的主要内容,如果未能解决你的问题,请参考以下文章

C++二叉树进阶(二叉搜索树,KV模型)

C++二叉树进阶(二叉搜索树,KV模型)

C++从青铜到王者第十九篇:C++二叉树进化之二叉搜索树

红黑树——一个自平衡的二叉搜索树

二叉搜索树的深度与搜索效率图解

十五、平衡二叉搜索树(Balanced Binary Search Tree)