二叉树的存储结构
来源:互联网 发布:农村淘宝是干嘛的 编辑:程序博客网 时间:2024/06/16 21:43
二叉树的存储结构可以分为顺序存储结构和链式存储结构。
二叉树的顺序存储结构:
就是将二叉树中各个节点的值按照一定的顺序存放在一组地址连续的存储单元中。
由于二叉树本身是非线性结构,所以首先要对二叉树中的节点进行排序,从而确定各个节点的逻辑关系。例如可以从根节点开始自上而下按层进行编号,如图所示:
按照节点的排序规则决定了节点在存储单元中的相对位置,而且我们发现这种存储结构非常适合存储完全二叉树,在这种情况下,存储空间的利用率也是最高的。对于非完全二叉树,可以补全为完全二叉树,在进行顺序存储的时候只需要将补进入的节点置空(不放任何值),但是这就带来了存储空间利用率低下的问题。
二叉树的链式存储结构:
二叉式的链式存储就是将二叉树中的各个节点随机的存放在位置任意的内容空间中,各个节点之间的逻辑关系通过指针来反应。(这种随机只是指存储地址的相对随机性,就是存储地址可以不连续)。链式存储结构又可以分为二叉链表结构和三叉链表结构。其中二叉链表结构中,每个节点设置有三个域:数据域、左孩子域和右孩子域,数据域用来存储节点的值,左右孩子域存储的是其左右孩子节点的存储地址(其实就是两个指针)。三叉链表结构在二叉链表结构上增加了一个父节点域用于存放该节点的父节点的存储地址,具体结构示意图如下:
相比二叉链表结构,三叉链表结构增加了一个父节点指针带来的好处是便于查找双亲节点,但是也增加了存储空间的开销。在实际应用中常常用二叉链表结构用于表示二叉树。
无论是二叉树的二叉链式还是三叉链式存储结构又可以分为带头结点的和不带头节点的。
阅读全文
1 0
- 二叉树的存储结构
- 二叉树的存储结构
- 二叉树的存储结构
- 二叉树的存储结构
- 二叉树的存储结构
- 二叉树的存储结构
- 二叉树的存储结构
- 二叉树的存储结构
- 二叉树的存储结构
- 二叉树的存储结构
- 二叉树的存储结构
- 二叉树的存储结构
- 二叉树的存储结构
- 二叉树的存储结构
- 二叉树的存储结构
- 二叉树的存储结构
- 二叉树的存储结构
- 二叉树的存储结构
- 进程间通信-信号量
- TextView文字局部链接点击
- SSH整合之 网盘上传下载系统(问题积累)
- BZOJ-2440 中山市选2011 完全平方数 二分查找 + 莫比乌斯反演 + 容斥原理
- Androidr如何实现后退一个页面并刷新这个页面的数据
- 二叉树的存储结构
- Spring学习篇:AOP知识整理
- AVL的c++详解——插入
- (0054)iOS开发之制作静态库详解
- Java实现棋盘格子走法
- 汉诺塔的递归应用
- Java设计模式-01单例模式
- struts2生成随机验证码图片
- linux查看可执行代码或库是32还是64bit,还是都兼容