这几天自己又重新看了一遍《数据结构》。
不看不知道,一看吓一跳。以前学的知识有忘记得差不多了。所以,决定以写博客的方式,
将我学到的东西记录下来,就算后面又忘记了也能回来看看。
废话不多说,我花了几天将老师上课的课件和书本结合起来看,对数据结构的体系有了自己的一个理解
今天就先说一说树和二叉树。
基本术语:
树——是由一个或多个结点组成的有限集合,其中:
⒈必有一个特定的称为根(ROOT)的结点;
⒉剩下的 n(n>0)个结点被分成 n 个互不相交的集合 T1、T2、……Tn,而且, 这些集合的每一个又都是树。
树T1、T2、……Tn被称作根的子树(Subtree)。根——即根节点(没有前驱)
- 叶子——指终端节点(没有后继)
- 森林——m(m>1)棵不相交的树的集合
- 有序树——结点各子数从左至右有序
- 无序树——结点各子树可互换位置
- 双亲——即上层的那个结点(直接前驱)
- 孩子——即下层结点的子树的根(直接后继)
- 结点——即树的数据元素
- 结点的度——结点挂接的子树数
- 结点的层次——从根节点到该结点的层数(根节点算第一层)
- 终端结点——即度为0的节点,即叶子
- 分支结点——即度不为0的结点
- 树的度——所有结点度中的最大值
- 树的深度——指所有结点中最大的层数
- 二叉树——结点的度不大于2
- 满