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