1、树定义树为n个结点的有限集合,一个根结点,其余节点分为m个根节点3358www.Sina.com/
子树。节点度:一个节点拥有子树的个数称为度。 例如,a的度是3,c的度是2,h的度是0。 角度为0的节点为2、树的概念(d,f,g,h ) http://www.Sina.com/树的角度是树中所有节点的角度的最大值,该树的角度为3。 树中节点的最大级别是树的深度或高度。 这棵树的深度是4。 父节点a子节点b、c、d; b,c,d也将兄弟节点树的集合称为森林。 树和森林之间有密切的关系。 删除一棵树的根节点后,其原来的所有子树都是树,构成森林。 通过一个节点与森林相连的所有树的根节点构成树。
3、二叉树每个节点最多有两个子节点,左边的子树和右边的子树有顺序不能任意逆转。
4、二叉树遍历前序遍历(前根遍历)叶子节点——左——右
中顺序扫描(中根扫描) )左—— 。——右
后行横移(后根横移)左——右—— 根
已知前序和中序,求后序问题,前序ABDGCEFH中序DGBAECHF
解法:根据前序、中序综合判断绘制树节点图,写出后序遍历: DGBEHFCA
(前序和中序子树也满足前序或中序的规则)
二叉树的深度优先扫描(DFS )和广度优先扫描(BFS )
DFS深度优先遍历:从根节点出发,向左子树方向纵向遍历,直到找到叶节点。 然后,追溯到上一个节点,遍历右子树节点,直到遍历所有可访问的节点。 利用数据结构的“栈”,父节点进入栈,父节点退出栈,首先右边的子节点进入栈,然后左边的子节点进入栈。 递归遍历所有节点。
DFS:ABDGCEFH
BFS宽度优先遍历:从根节点横向遍历二叉树的层次节点,在此基础上纵向遍历二叉树的层次。 利用数据结构“队列”,父节点排队,父节点排队,先左子节点排队,后右子节点排队。 递归遍历所有节点。
BFS:ABCDGEFH
5、二叉树的高度为h,由2^h-1个节点构成的二叉树称为二叉树。
6、完全二叉树由完全二叉树引导。 如果二叉树的深度为h,则除了h层以外的各层(1(h-1 ) )的节点数达到最大个数),即1(h-1层是完全二叉树),第h层的所有节点连续地集中在最左边。 这就是完全二叉树。
堆一般用完全二叉树实现。
不会结束的。