一、概念
二叉树是n(n>=0)个元素的有限集合,改集合或者为空,或者由一个根及两棵互不相交的左子树和右子树组成,其中左子树和右子树也均为二叉树。
二叉树的任一结点都有两棵子树(它们中的任何一个都可以是空子树),并且这两棵树之间 有次序关系,及交换位置后就成为一颗不同的二叉树。二叉树上任意左子树、右子树分别称该结点的左孩子和右孩子。
二叉树的 五种形态。
二、类型分类
按类型分 为 完全二叉树、满二叉树。
完全二叉树的 样子就是, 按顺序排列 每一层 从左到右 按次序排, 顺序不对的不能称为完全二叉树。
满二叉树是, 每一层 的分支都有两个孩子。 除非是叶子结点。(叶子结点就是 没有分支的结点)
满二叉树一定是完全二叉树,。
三、二叉树性质
性质1:二叉树的第i层上至多有2i-1(i≥1)个节点 [6]
。
性质2:深度为h的二叉树中至多含有2h-1个节点 [6]
。
性质3:若在任意一棵二叉树中,有n0个叶子节点,有n2个度为2的节点,则必有n0=n2+1 [6]
。
性质4:具有n个节点的完全二叉树深为log2x+1(其中x表示不大于n的最大整数) [6]
。
性质5:若对一棵有n个节点的完全二叉树进行顺序编号(1≤i≤n),那么,对于编号为i(i≥1)的节点: [6]
当i=1时,该节点为根,它无双亲节点 [6]
。
当i>1时,该节点的双亲节点的编号为i/2 [6]
。
若2i≤n,则有编号为2的左叶子,否则没有左叶子 [6]
。
若2+1≤n,则有编号为2i+1的右叶子,否则没有右叶子 [6]
。
四、二叉树的遍历
二叉树的遍历有 先序遍历、 中序遍历、后序遍历
先序遍历就是 先访问根结点,再访问左子树,最后访问右子树。 根→左→右
中序遍历就是 先访问左子树, 在访问根节点,最后访问右子树。 左→根→右
后序遍历 就是 先访问 左子树,在访问右子树,最后访问根结点。 左→右→根
还有就是层次 遍历, 就是从上到下、从左到右, 遍历,