1. 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值2. 若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值3. 任意节点的左、右子树也分别为二叉查找树4. 没有值相等的节点。
1. 若当前树为空,则加入节点,值为当前数的值,该节点视为根节点2. 若当前树不为空,则从根节点开始向下遍历。若当前数的值小于正在遍历的节点值,则向左子节点遍历,否则向右子节点遍历,直到不存在对应的子节点为止,在该处建立新的节点,值为当前数的值。
其中,树形结构在计算机学科中,一般指一种看起来像一棵倒挂的树的层次结构,如图
1. 每个节点都只有有限个子节点或无子节点1.1 对于二叉树,每个节点都只有0~2个子节点2. 没有父节点的节点称为根节点3. 每一个非根节点有且只有一个父节点4. 除了根节点外,每个子节点可以分为多个不相交的子树5. 树里面没有环路
对于两颗二叉树子树,若忽略节点上的值,得到相同的树形结构,则认为这两颗二叉树子树形状相同。
第一行输入一个正整数,代表要插入的数的个数
第二行输入n个正整数,一个1~n的排列,即1~n中每个数仅出现一次。
按输入顺序将数依次插入二叉查找树,输出这颗二叉查找树互不相同的子树个数。
对于样例一,建立的二叉查找树如图
不同形状的子树分别为
对于样例二,建立的二叉查找树如图
不同形状的子树分别为
,
即
与
相同