为什么BST上的操作(搜索,删除,获取,最小,最大,楼层,上限,等级等)都使用键而不是值?我们是否无法存储Comparable
值并对其进行操作?在BST中拥有密钥有什么好处?
1 个答案:
答案 0 :(得分:2)
你绝对可以构建一个只使用值而不是键的BST。一般来说,在谈论数据结构时,我们倾向于使用独立于任何特定编程语言的术语。例如,C ++没有可比较的接口,而且你在C中使用类型进行比较的方式看起来与Java完全不同。
"键"的想法和"价值观"是在高层次上讨论树存储一组排序的事物(密钥)的想法,并且每个密钥都有一个相关的值。实际实现的方式可能是让一个Comparable对象同时存储一个键和一个值,或者只是一个没有值的键。但是,从Theoryland的角度来看,能够分别讨论这些概念是很好的,这样我们就可以推断出数据结构如何在高层次上运行而不必过多担心个人背后的实现细节。存储的东西。