首页 > 知识点讲解
       二叉树的存储结构
知识路径: > 计算机系统基础知识 > 计算机软件基础知识 > 数据结构与算法 > 常用数据结构 > 树和图 > 树 > 
相关知识点:7个      
               二叉树的顺序存储结构
               用一组地址连续的存储单元存储二叉树中的结点,必须把结点排成一个适当的线性序列,并且结点在这个序列中的相互位置能反映出结点之间的逻辑关系。对于深度为k的完全二叉树,除第k层外,其余各层中含有最大的结点数,即每一层的结点数恰为其上一层结点数的两倍,由此从一个结点的编号可推知其双亲、左孩子和右孩子的编号。
               假设有编号为i的结点,则有:
               .若i=1,则该结点为根结点,无双亲;若i>1,则该结点的双亲结点为
               .若2in,则该结点的左孩子编号为2i,否则无左孩子。
               .若2i+1≤n,则该结点的右孩子编号为2i+1,否则无右孩子。
               完全二叉树的顺序存储结构如下图(a)所示。
               
               二叉树的顺序存储结构
               显然,顺序存储结构对完全二叉树而言既简单又节省空间,而对于一般二叉树则不适用。因为在顺序存储结构中,以结点在存储单元中的位置来表示结点之间的关系,那么对于一般的二叉树来说,也必须按照完全二叉树的形式存储,也就是要添上一些实际并不存在的“虚结点”,这将造成空间的浪费,如上图(b)所示。
               在最坏的情况下,一个深度为h且只有h个结点的二叉树(单枝树)却需要2h-1个存储单元。
               二叉树的链式存储结构
               由于二叉树中结点包含有数据元素、左子树根、右子树根及双亲等信息,因此可以用三叉链表或二叉链表(即一个结点含有三个指针或两个指针)来存储二叉树,链表的头指针指向二叉树的根结点,如下图所示。
               
               二叉树的链式存储结构
               设结点中的数据元素为整型,则二叉链表的结点类型定义如下:
               
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有