【问题标题】:Dealing with "Keys" in Binary Search Trees处理二叉搜索树中的“键”
【发布时间】:2013-04-29 00:29:54
【问题描述】:

在处理二叉搜索树时,我是否应该始终使用一些数据作为键值?我问这个是因为我在某个时间点需要钥匙 如果我想在树中搜索一个元素。还有其他选择吗?

例如,请考虑以下代码:

class Node {

int iData;   // data used as key value
double fData; // other data

Node leftChild; // this node's left child

Node rightChild; // this node's right child

}

我的第二个问题:

有什么方法可以在二叉树中找到元素,因为二叉树没有任何属性,就像二叉搜索树一样,父节点的左节点必须小于父节点,右节点必须大于父节点。

【问题讨论】:

    标签: java binary-tree binary-search-tree


    【解决方案1】:
    1. 我不明白为什么您总是需要钥匙。您可以只使用 double fData 作为值来确定哪个节点更大/更小(如果您的要求适合)。
    2. 我相信二叉搜索树是一个二叉树,其中的元素是有序的。因此,二叉树上的节点不一定是有序的。所以是的,你仍然可以在二叉树上找到元素——但你必须扫描整个节点。您失去了 BST 的性能优势

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-09
      • 2023-03-08
      • 2015-04-01
      • 1970-01-01
      • 2017-04-17
      • 1970-01-01
      • 1970-01-01
      • 2021-04-10
      相关资源
      最近更新 更多