北京白癜风专科哪里最好 http://www.jk100f.com/一棵树
现实中的树都见过,一棵树有树根,树枝和树叶的一种植物。计算机中的数据结构的树结构和现实的树差不多,有根,分支和叶子等。
树结构
树根:树中没有父节点的节点,一棵树有一个根节点,多棵树可以构成森林
叶子:没有孩子节点的节点(根节点除外),
左子树,右子树:节点的左右孩子分支,左边的孩子叫左子树,右边的叫右子树,
父节点:一个非根节点的上级节点,一个节点有一个父节点
子节点,一个节点的孩子节点,可以有多个子节点
兄弟节点:一个父节点的直接子节点,它们之间为兄弟节点
树的高度:一棵树中节点的最大深度就是树的高度
二叉树
二叉树是一棵空树或者互不相交的子树构成,数的最大的度为2。
二叉树特征:
二叉树中,第i层最多有
个结点。
如果二叉树的深度为K,那么此二叉树最多有
个结点。
完全二叉树,一棵深度D的树,除了D层外,所有的节点的度都为2的二叉树。
二叉搜索树,又叫二叉排序树或者二叉查找树,它的特点如下:
如果节点i的左子树不为空,则左子树上所有节点的值均小于它的父节点i的值;
如果节点k的右子树不为空,则右子树上所有节点的值均大于它的父节点k的值;
如果左右子树不为空,它的左右子树也分别为二叉查找树;
平衡二叉树(BalancedBinaryTree)又被称为AVL树:一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
平衡二叉树是一棵二叉搜索树,在插入或者删除节点的时候需要旋转使其平衡,具体旋转算法后续详解。
未完待续......