二叉查找树
2017-12-28 09:56
183 查看
二叉树(英语:Binary tree)是每个节点最多只有两个分支(不存在分支度大于2的节点)的树结构。通常分支被称作“左子树”和“右子树”。二叉树的分支具有左右次序,不能颠倒。
二叉查找树(英语:Binary Search Tree),也称二叉搜索树、有序二叉树(英语:ordered binary tree),排序二叉树(英语:sorted binary tree),是指一棵空树或者具有下列性质的二叉树:
若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值;
若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值;
任意节点的左、右子树也分别为二叉查找树;
没有键值相等的节点。
二叉查找树相比于其他数据结构的优势在于查找、插入的时间复杂度较低。为O(log n)。二叉查找树是基础性数据结构,用于构建更为抽象的数据结构,如集合、multiset、关联数组等。
二叉查找树(英语:Binary Search Tree),也称二叉搜索树、有序二叉树(英语:ordered binary tree),排序二叉树(英语:sorted binary tree),是指一棵空树或者具有下列性质的二叉树:
若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值;
若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值;
任意节点的左、右子树也分别为二叉查找树;
没有键值相等的节点。
二叉查找树相比于其他数据结构的优势在于查找、插入的时间复杂度较低。为O(log n)。二叉查找树是基础性数据结构,用于构建更为抽象的数据结构,如集合、multiset、关联数组等。
相关文章推荐
- c#数据结构———二叉查找树
- 动态二叉查找树
- 数据结构与算法分析-二叉查找树的实现
- 查找、检索 算法-总结3 平衡二叉查找树 [AVL]
- 算法学习--二叉查找树
- 【数据结构与算法基础】二叉查找树 / Binary Search Tree
- java 实现的二叉查找树
- 程序员面试100题之十三:求二叉查找树的镜像
- C++算法(一)之二叉查找树
- java实现二叉查找树
- 二叉树和二叉查找树
- 二叉查找树
- 二叉查找树 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 【学习点滴-数据结构-二叉树】二叉查找树源码实现
- 二叉查找树(三)
- BinarySearchTree(1)二叉查找树链式递归实现
- 二叉查找树
- 动态规划算法-最长公共子序列和最优二叉查找树
- 二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)的比较
- 寻找满足二叉查找树性质的最大子树