二叉搜索树是二叉树的一个子类别吗?

3
我在考试中被问到以下问题:
“这种数据结构的名称是什么(教科书介绍的用于填充该数据结构的算法)?”

enter image description here

我回答是二叉树,但我的教授标记为错误,并说它是二叉搜索树。 我的问题是:二叉搜索树不是二叉树的“子类”吗?在他的问题背景下,我的想法是二叉树是可能最广泛的答案(因此最安全)。
我看到类似问题在网上和这个网站上有不同的答案,甚至有些人认为BST只是二叉树的算法(而不是独立的数据结构)。

1
我猜你应该注意到了节点是排序过的。相关问题是:除了排序,二叉树还有其他用途吗? - Kingsley
1
是的,我猜他暗示它是一棵二叉搜索树。但我也同意指责你错误有些苛刻。如果答案是“树”呢?那也算正确吗?也许他真的想要搜索这个词。 - Kingsley
2
放松点,孩子。10年后,这些都不会有任何影响。虽然我同意这是一个糟糕的问题。在纸上,二叉搜索树看起来与普通二叉树没有任何区别。我们怎么知道树的预期用途是搜索呢?可能节点只是“巧合”排序了。 - Peter Ruderman
1
@Kingsley:是的,二叉树有一些非排序的用途。例如,“绳索”数据结构使用一个有序但非排序的二叉树(每个节点保存一个更大的序列的子序列)。即使是经典的自平衡算法(RB和AVL),也不严格要求排序,排序只是通常用来确定新节点在树中的位置的机制,但其他方案也是可能的(当前插入符位置就是一个例子)。 - SoronelHaetir
也可以说它是一棵平衡二叉树。 - stark
显示剩余3条评论
1个回答

0

BST 是一种二叉树,但根据提供的信息,您能够给出更好的答案。(BST)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接