数据结构_树_相关定义和解释
来源:互联网 发布:关于在义乌外贸数据 编辑:程序博客网 时间:2024/06/05 10:28
树:树n(n >= 0)个结点的有限集。在任意一棵非空树(n != 0)中:①有且仅有一个根结点②其余结点可分成m个互不相交的有限集。
度:结点拥有的子树的个数称为结点的度。
叶结点:度为0的结点
终端结点或分支结点:度不为0的结点。
树的度:树内各结点的最大值
孩子结点:结点子树的根结点
双亲结点:相对于孩子结点的上不节点
结点的层次:从根开始定义。根为第一层,根的孩子我第二层,以此类推
树的深度:即树的总层次
树的存储结构:双亲表示法、孩子表示法、孩子兄弟表示法
双亲表示法:
#define MAX_TREE_SIZEtypedef struct Node//节点结构{ int data; //结点数据 int parent; //结点双亲 int rignt; //右兄弟域}PNode;typedef struct Tree//树的结构{ PNode nodes[MAX_TREE_SIZE]; int r;//跟节点的位置,一般为-1 int n;//节点的个数}PTree;孩子表示法:
#define MAX_TREE_SIZEtypedef struct Node{ int child; //孩子节点数据 Node *next; //指向下一个孩子节点的指针}*PNode;typedef stuct Gen//表头结构{ int data; PNode firstChild;}CBox;typedef struct Tree{ CBox nodes[MAX_TREE_SIZE]; int r; int n;}CTree;另外,孩子表示法还可以同双亲表示法相互结合,方法很简单:只需要在Gen结构体中添加“int parent;”即可表示,这样就能比较方便的找到给定节点的双亲节点,表示方法为“双亲孩子表示法”。
孩子兄弟表示法:
typedef struct CSNode{ int data; CSNode *firstchild;//指向当前节点的第一个孩子结点 CSNode *rightsib; //指向当前节点的兄弟结点};二叉树:是n(n > 0)个结点的有限结合,该集合可以为空集,或者非空集,但是每个节点最多有两棵子树(即树的度不大于2),左右子树是有序的不可随意颠倒,即使某一节点只有一颗子树,也要区分左子树还是右子树。
特殊二叉树:包括斜树、满二叉树、完全二叉树等。
斜树:每一层只有一个节点,结点的个数与二叉树的深度相同。
满二叉树:是叶子只能出现在最后一层,非叶子结点度一定为2,在同样深度的二叉树中,满二叉树的结点数最多,叶子数最多。
完全二叉树:满二叉树一定是完全二叉树,而完全二叉树不一定是满二叉树。二叉树即在满二叉树的基础上,按照从上往下,从左往右进行编号,不存在空闲编号。
0 0
- 数据结构_树_相关定义和解释
- 18-数据结构_树-定义和分类
- 【郝斌数据结构自学笔记】60-65_树的定义_树的专业术语解释_树的分类_二叉树连续存【重点】_二叉树的链式存储_普通树的存储
- 数据结构:树与二叉树_二叉树_定义
- java数据结构_附12_图、顶点和边的定义(双链存储)
- 数据结构_栈、队列和树(Java)
- java数据结构_附11_图的接口定义
- 数据结构_树结构
- 数据结构_二叉树
- Java 数据结构_树
- 11-数据结构_链表相关操作
- 数据结构_链队列相关操作
- 数据结构_栈的相关操作
- 数据结构_顺序栈相关操作
- 数据结构_链队列相关操作
- 【数据结构_哈希表_1012+1013】哈希表相关
- 数据结构_查找_次优查找树
- 数据结构_二叉索引树_模板
- java从小白到架构师大牛必看书籍
- A*算法
- mysql缓存
- (0015)iOS 开发之Mac上安装MySQL服务与创建数据库的基本步骤
- Android js交互 与 Html启动App
- 数据结构_树_相关定义和解释
- 在PHP语言中使用JSON
- error MSB30073:命令....:VCEnd 已退出,代码为4
- Hadoop2.7.3伪分布式搭建
- mac Navicat破解安装
- [笔记]《Linux内核设计与实现》第五章系统调用
- c++primer plus 第4章编程练习之路
- HBase设计与开发性能优化
- 继承