概念和结构
- 树由若干节点组成。
- 每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个不相交的子树。
- 我们这里实现二叉搜索树。二叉搜索树,它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉搜索树。
二叉搜索树的操作
二叉搜索树有七种常用操作,分别为
- 插入节点 insert(value)
- 查找节点 search(value)
- 移除节点 remove(value)
- 遍历节点 traverse(value)
- 获取最小值 min()
- 获取最大值 max()
- 获取根节点 getRoot()