网站首页 > 技术文章 正文
1 树的性质
(1)树中的节点数等于所以节点的度数加1。
(2)度为m的树中第i层上至多有m∧i-1个节点(i≥1)。
推广:当一棵m次树的第i层有m∧i-1个节点(i≥1)时,称该层是满的,若一棵m次树的所有叶子节点在同一层,除该层外其余每一层都是满的,称该树为满m次树。
(3)高度为h的m次树至多有(m∧h - 1)/(m - 1)个节点。
(4)具有n个节点的m次树的最小高度为log m (n(m-1)+1)(取最小整数)
2 树的基本运算(主要分为三大类)
(1)寻找满足某种特定关系的节点,如寻找当前节点的双亲节点等。
(2)插入或删除某个节点,如在树的当前节点上插入一个新节点或删除当前节点的第i个孩子节点等。
(3)遍历树中每个节点。树的遍历是指按某种方式访问树中的每一个节点且每个节点只被访问一次。主要有先根遍历、后根遍历和层次遍历3种。
先根遍历的过程:(1)访问根节点;(2)按照从左到右的次序先根遍历根节点的每一棵树。图一采用该方式遍历得到的节点序列为:ABDECF。
后根遍历的过程:(1)按照从左到右的次序后根遍历节点的每一棵子树;(2)访问根节点。图一采用该方式遍历得到的节点序列为:DEBFCA。
层次遍历的过程:从根节点开始,从上到下、从左到右访问树中每一个节点。图一采用该方式遍历得到的节点序列为:ABCDEF。
3 存储结构
(1)双亲存储结构:这是一种顺序存储结构,用一组连续空间存储树的所有节点,同时在每个节点中附设一个伪指针指示双亲节点的位置。其存储结构的类型定义为:
typedef struct{
ElemType data; // 存放节点的值
int parent; // 存放双亲的位置
} PTree[MaxSize];
(2)孩子链存储结构:在该存储结构中,每个节点不仅包含数据值,还包含指向其所有孩子节点的指针,并且按树的度(即树中所有节点度的最大值)设计节点的孩子节点指针域个数。其存储结构的类型定义为:
typedef struct node{
ElemType data; // 存放节点的值
struct node * sons[MaxSons]; // 指向孩子节点
}TSonNode;
(3)孩子兄弟链存储结构:在该存储结构中每个节点有3个域,一个数据元素域,一个指向该节点的第一个孩子 节点的指针域,一个指向该节点的下一个兄弟节点的指针域。其存储结构的类型定义为:
typedef struct tnode{
ElemType data; // 存放节点的值
struct tnode * hp; // 指向兄弟节点
struct tnode *vp; // 指向孩子节点
} TSBNode;
- 上一篇: 数据结构-树论 数据结构树的基本概念
- 下一篇: 数据结构——二叉树 数据结构二叉树算法题
猜你喜欢
- 2024-10-19 老公比父母更重要?你和父母的人生排序原来这么不同
- 2024-10-19 父母介入过多,为何更容易毁掉婚姻?
- 2024-10-19 到了清明节才知道,父母是“一场轮回”
- 2024-10-19 C++数据结构--树 c++数据结构教程
- 2024-10-19 笔记~数据结构~树 数据结构树的基本操作
- 2024-10-19 二叉树的定义,性质及常见题 二叉树的基本性质
- 2024-10-19 后天教育的关键节点,做父母的注意了,一定要注意以下几点
- 2024-10-19 与父母相处的几点建议(原创) 和父母如何相处的建议五条
- 2024-10-19 Java 数据结构:什么是树?二叉树的存储结构、遍历、概述
- 2024-10-19 数据结构与算法 -- B-树 数据结构中的树
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)