1.什么是树
树是一种数据结构,用来模拟具有树状结构的数据集合,是由有限节点通过连接他们的边组成的有层次的集合。
之所以将这种集合称为树,是因为他看起来像是一颗倒挂的树,根朝上,而叶朝下。
2.二叉树
相比于树,二叉树的每个节点最多只能有两个子节点。
3.二叉搜索树
如果我们给二叉树加上一个额外的条件。就可以得到二叉搜索树的特殊二叉树
二叉搜索树的要求:
1.若它的左子树不为空,则左子树上的所有节点的值均小于它根节点的值
2.若它的右子树不为空,则右子树上的所有节点的值均大于它根节点的值
3.它的左右子树也均为二叉搜索树
那么如何查找节点呢?
首先二叉搜索树的查找必须从根节点开始(类似于链表)
1.查找值比当前节点值大,则查找右子树
2.查找值比当前节点值小,则查找左子树
3.查找值等于当前节点值,则停止查找
如何插入节点呢?
首先需要找到要插入的位置,与查找操作类似
要插入的节点需要从根节点开始进行比较,小于根节点则与根节点的左子树比较
反之则与右子树进行比较,直到左子树为空或者右子树为空,则插入对应位置