当老师问一个问题时,我对BST和Map之间的关系感到困惑,这对二叉树具有二叉搜索树属性意味着什么以及为什么这使得它适合实现Map"。有谁可以帮我解释一下?感谢。
答案 0 :(得分:5)
映射是一种关联容器,其中键不是强制整数(例如,与键一直是数字的数组相反)。
现在,您希望存储多对key,value
,并希望能够有效地通过其键查找值,或者有效地添加对,或者有效地删除对或者您正在执行的任何操作。
二叉搜索树是一种数据结构,对于所有操作的平均情况,指定了O(log n)
的复杂度。这意味着您能够以有效的方式搜索树的特定节点(具有自己的键和值)。
这就是重点,您可以使用BST实现一个地图,以获得一个对许多操作有一定尊重的结构,但它不是实现地图的唯一方法(考虑一下一个hashmap)。