二叉搜索树
二叉搜索树时能够高效的进行如下操作的数据结构:
1、插入一个数值
2、查询是否包含某个数值
3、删除某个数值
注意:所有的结点,都满足左子树上的所有结点都比自己小,而右子树上的所有结点都比自己大这一条件。
平均每次操作需要O(log n)的时间。
二叉搜索的实现:
和堆一样,实际上在许多情况下都不需要自己实现二叉搜索树。C++的STL中有set和map容器。set是像前面所说的一样使用二叉搜索树维护集合的容器,而map则是维护键和键对应的值的容器。
二叉搜索树
二叉搜索树时能够高效的进行如下操作的数据结构:
1、插入一个数值
2、查询是否包含某个数值
3、删除某个数值
注意:所有的结点,都满足左子树上的所有结点都比自己小,而右子树上的所有结点都比自己大这一条件。
平均每次操作需要O(log n)的时间。
二叉搜索的实现:
和堆一样,实际上在许多情况下都不需要自己实现二叉搜索树。C++的STL中有set和map容器。set是像前面所说的一样使用二叉搜索树维护集合的容器,而map则是维护键和键对应的值的容器。