首先了解三个概念
数据:所有能输入到计算机中并能够被计算机程序处理的符号的总称.它是计算机程序加工的原料
数据元素:数据的基本单位,在计算机程序中通常作为一个整体来进行考虑和处理.如数组中一个存储单元里面的数或者链表中一个结点
数据结构:是数据元素相互之间存在的一种或多种特定关系的集合.主要研究数据逻辑结构和存储结构及其运算的实现
数据的逻辑结构:结构定义中的“关系” 描述的是数据元素之间的逻辑关系,又称为逻辑结构,比如平常教学中所画的内存图,数组等为数据的逻辑结构.
数据的物理结构:数据结构在计算机中的实际表示形式称为数据的物理结构,又称为物理存储。
数据结构的种类:
l 集合:结构中的数据元素之间除了“同属于一个集合”的关系外,别无其它关系。
l 线性结构:结构中的数据元素之间存在一个对一个的关系
l 树形结构:结构中的数据元素之间存在一个对多个的关系
l 图:状结构或网状结构 结构中的数据元素之间存在多对多的关系
线性结构中又分为顺序表和链表(按物理存储结构划分),顺序表按顺序存储结构(例如数组),链表按 链式存储结构(例如链表)。
队列(FIFO)和栈(FILO)也是线性结构,不过它们的实现方式既可以是顺序表也可以是链表。
头指针等于尾指针处于队空状态或队满状态。指针实际位置为指向队列下一个即将存储的区域。
结点的度:与下一层的几个节点相关联(下面有几个分支),结点的度就为几。
树的度:所有结点中度数最大的结点即为树的度(最大分支的结点)。
叶子结点:度为0的结点(下面没有分支)。
分支结点:除了叶子结点,其他都是分支结点,包括根结点(有分支的结点)。
内部结点:除了叶子结点和根结点,剩下的就是内部结点(除去根结点的分支结点)。
父结点、子结点、兄弟结点:相对的概念
层次:树从上到下的从0开始计算层次。
前序遍历:根在前面,然后子结点从左到右排序
后序遍历:根在后面,然后子结点从左到右排序
层次遍历:从上到下(根结点开始),每层从左到右开始遍历
1.在二叉树的第i层上最多有2的i-1次方个结点(i>=1)
2.深度为k的二叉树最多有2的k次方-1个结点(k>=1)
3.对任何一棵二叉树,如果其叶子结点数为n0,度为2的结点数为n2,则n0=n2+1
满二叉树
完全二叉树
原文:https://www.cnblogs.com/aeolian/p/10710817.html