树和二叉树

树的概念
节点拥有的子树 个数—>节点的度
所有节点的度的最大值---->树的度
最上层的节点---->根节点
最下层的节点----->终端节点
其他的节点---->非终端节点
有多少层—>节点的层次
最底层是多少层—>树的深度
各个节点的关系 父亲 兄弟 儿子 子孙 祖先 堂兄弟

分左右的树—>有序树
所有节点的最大的度在小于等于m—>m叉树
多个树的集合—>森林

二叉树(所有节点最大度小于等于2)
满二叉树:每层节点都是最大数
完全二叉树:在满二叉树的基础上,去掉终端节点从右往左若干个(相邻)

二叉树的数学性质
树和二叉树
二叉树存储结构也是分为顺序存储和链式存储,
顺序存储由于非完全二叉树为了保持这种父子关系(父亲的位置用儿子位置除2,这里起始值是1),会浪费数组存储空间
链式存储分为二叉链表和三叉链表(牺牲空间换区查询便利)
正好利用了双向链表的前驱和后继扮演左和右的角色,二叉树是有序树
树和二叉树
二叉树的遍历
根据根的位置分为先序遍历,中序遍历,后序遍历
树和二叉树
先序遍历开头确定第一层根,后序遍历结尾确定第一层根

确定1是根
树和二叉树

确定4是根,2是根
树和二叉树

树和二叉树