菜单
一个深度为K的二叉树需要 个存储空间,当K值很大并且二叉树的空结点很时,最坏的情况是每层只有一个结点,使用顺序存储结构来存储显然会造成极大的浪费,这时就应该使用链式存储结构来存储二叉树中的数据。
0 1 2 3 4 5 6
(a) 满二叉树
0 1 2 6
(b) 一般二叉树
图1.3 二叉树的顺序存储
(2)链式存储结构:二叉树的链式存储结构可分为二叉链表和三叉链表。二叉链表中,每个结点除了存储本身的数据外,还应该设置两个指针域left和right,分别指向其左孩子和右孩子(如图1.4(a)所示)。
如果在二叉树中经常需要寻找某结点的双亲,每个结点还可以加一个指向双亲的指针域parent,如图1.4(b)所示,这就是三叉链表。
(a) 二叉链表节点指针域 (b) 三叉链表结点指针域
left data right
left data parent right
图1.4 二叉树链式存储的结点指针域
二叉树还有一种叫双亲链表的存储结构,它只存储结点的双亲信息而不存储孩子信息,由于二叉树是一种有序树,一个结点的两个孩子有左右之分,因此结点中除了存放双亲信息外,还必须指明这个结点是左孩子还是右孩子。由于结点不存放孩子信息,无法通过头指针出发遍历所有结点,因此需要借助数组来存放结点信息。双亲链表中的元素存放的顺序是根据结点的顺序来决定的,也就是说把各个元素的存放位置进行调换不会影响结点的逻辑结构。其在物理上是一种顺序存储结构,这样的链表为静态链表。
二叉树存在多种存储结构,选用何种方法进行存储主要依赖于对二叉树进行什么操作。而二叉链表是二叉树最常用的存储结构。
共4页:
上一页
1
2
3
4
下一页
上一篇:
《协议分析与测试》课程考试系统设计与实现
下一篇:
C#公司销售薪资系统设计+需求分析+ER图
云虚拟环境下资源分配优化算法的研究
桌面云中虚拟机集中入域的研究和实现
OpenGL虚拟人三维模型控制平台实现
VRML虚拟数字校园的设计与实现
基于虚拟仿真体验式实践教学体系的构建
WPF虚拟仿真学习平台的设计与开发
基于python的虚拟仪器技术研究及实现
电站锅炉暖风器设计任务书
当代大学生慈善意识研究+文献综述
java+mysql车辆管理系统的设计+源代码
河岸冲刷和泥沙淤积的监测国内外研究现状
大众媒体对公共政策制定的影响
十二层带中心支撑钢结构...
中考体育项目与体育教学合理结合的研究
杂拟谷盗体内共生菌沃尔...
乳业同业并购式全产业链...
酸性水汽提装置总汽提塔设计+CAD图纸
主页
计算机
机械
自动化
关闭菜单
栏目
毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
日语论文
英语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
菜单
毕业论文
刷新
分享
收藏
关于
关闭
关闭
分享本页
返回
关闭
暂无收藏
全部清除
关闭菜单
About
751论文网手机版...
主页:
http://www.751com.cn
关闭
返回