目录
结点的度:某一个结点所含有字数的个数
叶节点:最后一个结点
非终端节点:不是叶结点
兄弟结点:亲兄弟结点
树的度:最大节点的度
层次:根为第一层,根的子结点为第二层,以此类推
森林:互不相交的树被称为森林
最常用的表示方法:左孩子右兄弟表示方法,
二叉树
树是一种非线性的结构,树是递归定义的,他的根在上,叶在下
树是递归定义的,并且子树之间不能有交集,否则就是图
结点的度:某一个结点所含有字数的个数
叶节点:最后一个结点
非终端节点:不是叶结点
兄弟结点:亲兄弟结点
树的度:最大节点的度
层次:根为第一层,根的子结点为第二层,以此类推
森林:互不相交的树被称为森林
最常用的表示方法:左孩子右兄弟表示方法,
typedef int DataType;
struct Node {
struct Node* child;
struct Node* brother;
DataType data;
};
二叉树
二叉树在我们的日常生活中运用的比较广泛
1.二叉树的度都小于等于2
2.二叉树的子数有左右之分,不能颠倒所以二叉树是有序树;
1. 满二叉树:每一个结点都满的
2. 完全二叉树:完全二叉树是效率很高的数据结构,她必须是连续的
左孩子是奇数右兄弟是偶数所以下表都是2*i-1
堆是完全二叉树,完全二叉树一般都是用数组来存储的
由大到小的叫做大堆
由小到大的叫做小堆