【问题标题】:Binary Search Tree a Sub-category of Binary Tree?二叉搜索树是二叉树的一个子类别?
【发布时间】:2018-11-27 21:13:07
【问题描述】:

我在考试中被问到以下问题:

此数据结构的名称是什么(用于填充 数据结构,如教科书所述)?

我回答说是二叉树,但是我的教授标错了,说是二叉搜索树。 我的问题:二叉搜索树不是二叉树的“子类别”吗?我的想法是,在他的问题的上下文中,二叉树是可能的最广泛的答案(因此是最安全的)。

我在网络上甚至在这个网站上看到了对类似问题的不同答案,有些人甚至暗示 BST 只是二叉树的一种算法(相对于独立的数据结构)。

【问题讨论】:

  • 我猜你应该注意到节点已排序。一个相关的问题是:除了排序之外,二叉树还有其他用途吗?
  • @Kingsley 我必须假设这是他希望我们注意的,但第一部分的措辞是我最感兴趣的。另外,你的意思是说你觉得他暗示了 bst?
  • 是的,我猜他暗示这是 BST。但我也同意标记你错误是分裂头发。如果答案是“树”怎么办——这也是正确的吗?也许他真的想要那里的搜索
  • 放松,孩子。 10年后,这一切都不会产生丝毫的不同。我同意这是一个 bad 问题。二叉搜索树看起来与纸上的常规二叉树没有任何不同。我们如何知道树的预期用途是搜索?可能是节点按巧合排序。
  • @Kingsley:是的,未排序的二叉树也有一些用途。例如,“绳索”数据结构使用有序但未排序的二叉树(每个节点都包含较大整体序列的子序列)。即使是经典的自平衡算法(RB 和 AVL)也并不严格要求排序,排序只是确定新节点在树中的哪个位置的常用机制,但其他方案也是可能的(以当前插入符号位置为例)。跨度>

标签: c++ binary-tree binary-search-tree


【解决方案1】:

BST 是一棵二叉树,但根据提供的信息 - 您能够给出更好的答案。 (英国夏令时)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-16
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2017-09-28
    • 2021-10-01
    相关资源
    最近更新 更多