处理二进制搜索树中的“键”

时间:2013-04-29 00:29:55

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

我应该总是在处理二进制搜索树时使用一些数据作为键值吗?我问这个因为我在某个时候需要钥匙 如果我想搜索树中的元素。还有其他选择吗?

例如,请考虑以下代码:

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

}

我的第二个问题:

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

1 个答案:

答案 0 :(得分:3)

  1. 我不明白为什么你总是需要钥匙。您可以使用double fData作为用于确定哪个节点更大/更小的值(如果您的要求适合)。
  2. 我认为Binary Seach Tree是一个二元树,其中元素是有序的。因此,二进制树上的节点不一定是有序的。所以是的,您仍然可以在二叉树上找到元素 - 但您必须扫描整个节点。您失去了BST的性能优势