昨天说的要每天更新博客,以此来监督自己学习进度。哪怕没有天赋,接触到计算机相关知识点是比较迟的,多努力一点还是会有成效的把,即使做的不是最好,那也会是个及格的分数。
先从比较简单的树的概念及其结构讲起。
1.树的特点:
有一个
特殊的结点,称为根结点
,根节点没有前驱结点
除根节点外,
其余结点被分成
M(M>0)
个互不相交的集合
T1
、
T2
、
……
、
Tm
,其中每一个集合
Ti(1<= i
<= m)
又是一棵结构与树类似的子树。每棵子树的根结点有且只有一个前驱,可以有
0
个或多个后继
因此,
树是递归定义
的。
2.树形结构的特点:
@1.子树不相交
@2.除根节点外,每个结点有且仅有一个父结点
@3.一棵N个结点的树有N-1条边
3.树的相关概念
节点的度:一个节点含有子树的个数、
叶节点/终端节点:度为0的节点
非终端节点/分支节点:度不为0的节点 比如:根节点是分支节点
双亲节点/父节点
孩子节点/子节点
兄弟节点:相同父节点的节点
树的度:一棵树中,最大的节点的度称为树的度
节点的层次:从根开始定义起,根为第一层,根的子节点为第二层,以此类推。
树的高度或深度:树中节点的最大层次
堂兄弟节点
节点的祖先
节点的子孙
森林 例如:并查集
4.树的表示
还有双亲表示法,图解如下:

树的遍历
5.树的应用
目前我还没有接触到Linux系统的知识点,只是听说过。真希望加快自己学习的步伐啊!
二.二叉树的概念和结构
1.二叉树的特点:
@1.
二叉树不存在度大于
2
的结点
@2.
二叉树的子树有左右之分,次序不能颠倒,因此二叉树是有序树
2.特殊二叉树
满二叉树:结点数是2^k-1,k为树的高度或者是深度
完全二叉树:结点数范围为[2^k-1,2^k-1],k为树的高度或者是深度
前k-1层都是满的,最后一层满或者不满都可以,但是要求最后一层从左到右是连续的