Data structures 为什么在二元搜索树中使用键而不仅仅是值?

Data structures 为什么在二元搜索树中使用键而不仅仅是值?,data-structures,binary-search-tree,Data Structures,Binary Search Tree,为什么BST上的操作(搜索、删除、获取、最小、最大、下限、上限、排名等)使用键而不是值?我们是否不能存储可比较的值并对其进行操作?在BST中使用键有什么好处?您完全可以构建一个只使用值而不使用键的BST。一般来说,在讨论数据结构时,我们倾向于使用独立于任何特定编程语言的术语。例如,C++没有一个可比的< /C> >接口,而在C中进行类型比较的方式看起来与java完全不同。 “键”和“值”的概念是在高层次上讨论树存储一组排序的东西(键),每个键都有一个关联的值。实际实现的方式可能是使用一个既存储键

为什么BST上的操作(搜索、删除、获取、最小、最大、下限、上限、排名等)使用键而不是值?我们是否不能存储可比较的值并对其进行操作?在BST中使用键有什么好处?

您完全可以构建一个只使用值而不使用键的BST。一般来说,在讨论数据结构时,我们倾向于使用独立于任何特定编程语言的术语。例如,C++没有一个<代码>可比的< /C> >接口,而在C中进行类型比较的方式看起来与java完全不同。 “键”和“值”的概念是在高层次上讨论树存储一组排序的东西(键),每个键都有一个关联的值。实际实现的方式可能是使用一个既存储键又存储值的
可比较的
对象,或者只存储一个没有值的键。不过,从Theoryland的角度来看,能够单独讨论这些概念是很好的,这样我们就可以在较高的层次上对数据结构的工作原理进行推理,而不必过多地担心存储的各个事物背后的实现细节