一般树的存储
来源:互联网 发布:java中图片上传 编辑:程序博客网 时间:2024/05/16 07:07
一般树的存储:
1) 双亲表示法:
求父节点方便
0
A
-1
1
B
0
2
C
0
3
D
0
4
E
2
双亲表示法:是使用数组来存储树
0-4为数组的下标
数组的类型为一个结构体
结构体中有两个数据类型:
1. 树中存储的数据(与树中的数据类型一样)
2. 存储树的节点的父节点的下标(int)
A节点没有父节点,则下标存储-1
B、C、D的父节点为A,则存储A节点的小标0
E的父节点为C,则存储C节点的下标2
2)孩子表示法:
求子节点方便
0
A
1
B
2
C
NULL
3
D
4
E
NULL
5
F
NULL
6
G
NULL
孩子表示法:是使用数组和链表来实现树的存储
数组的类型为一个结构体:
结构体为一个存储树的数据类型和一个指针域(指向一个链表来存储其子节点)
节点A有三个子节点,则数组的指针域指向一个链表,链表中存储了B、C、D的指针域
同理B、D指向B、D的子节点E、F、G
C、E、F、G,,没有子节点,则指针域为NULL
2) 双亲孩子表示法
求父节点和子节点都方便
0
A
-1
1
B
0
2
C
1
D、E、F
3
D
2
NULL
4
E
2
NULL
5
F
2
NULL
双亲孩子表示法:是使用数组和链表来实现树的存储
数组中的数据类型同理综合了双亲表示法和孩子表示法,存储父节点的小标和子节点的指针域
3) 二叉树表示法
把一个普通树转化成二叉树来存储
具体转化方法:
设法保证任意一个节点
左指针域指向它的第一个子节点
右指针域指向它的下一个兄弟节点
只要能满足此条件,就可以把一个普通树转化二叉树
- 一般树的存储
- 存储过程的一般定义
- 图的一般存储形式
- ASP调用存储过程的一般方法
- ios---数据存储的 一般方式
- 云存储数据的一般完整性验证
- 一般的trie树
- 本例是采用一般的队列来存储和访问二叉树
- SQL Server 适用于一般分页的存储过程
- 线性表顺序存储结构的一般操作
- 【深入浅出ios开发】存储一般的数据对象
- 【深入浅出ios开发】存储一般的数据对象
- C语言实现一般线性表的顺序存储
- C语言实现一般线性表的链式存储
- 在SQL中存储过程的一般语法是什么
- SQL中存储过程的一般语法是什么?
- 一般存储过程和函数
- linux机器一般存储路径
- Is It A Tree?(hdu132并查集)
- 装饰设计模式
- c笔记
- Segment set(hdu1558并查集+计算机和)
- Autobook中文版(七)—9.一个小的GNU Autotools项目
- 一般树的存储
- 音标学习
- SQL查询前10条记录(SqlServer/mysql/oracle/sybase)[语法分析] (转)
- Nutch 框架
- C# 网络编程之最简单浏览器实现
- CUDA从入门到精通(十):性能剖析和Visual Profiler
- Erlang二进制创建的内部机制和优化(一)
- 框架技术--S2SH框架整合(spring部分)No 1
- 黑马程序员--Java异常处理机制