Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 插入等值元素_Algorithm_Binary Search Tree - Fatal编程技术网

Algorithm 插入等值元素

Algorithm 插入等值元素,algorithm,binary-search-tree,Algorithm,Binary Search Tree,我目前正在研究二进制搜索树,我想知道如果您尝试插入一个与根值相同的元素,您会怎么做?它去哪里了?BST的定义是它是一个有序集,因此不允许插入重复项。这通常是由于在BST上构建了更复杂的结构。根据所需的行为,您可能希望在插入重复项时引发异常、错误或静默忽略 但是,根据比较函数的不同,您可以在左子树或右子树上存储重复项,但请记住保持遍历和插入边的一致性。这取决于树的设计者。您可以返回一个错误。您可以将其添加为比现有值稍大的值。您可以有一个特殊的“多条目”对象来代替现有对象。这取决于这棵树是用来做什么

我目前正在研究二进制搜索树,我想知道如果您尝试插入一个与根值相同的元素,您会怎么做?它去哪里了?

BST的定义是它是一个有序集,因此不允许插入重复项。这通常是由于在BST上构建了更复杂的结构。根据所需的行为,您可能希望在插入重复项时引发异常、错误或静默忽略


但是,根据比较函数的不同,您可以在左子树或右子树上存储重复项,但请记住保持遍历和插入边的一致性。

这取决于树的设计者。您可以返回一个错误。您可以将其添加为比现有值稍大的值。您可以有一个特殊的“多条目”对象来代替现有对象。这取决于这棵树是用来做什么的。与这个好答案有关。