温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

二叉树的存储结构

发布时间:2020-07-21 09:40:42 来源:网络 阅读:428 作者:BarnabyRoss 栏目:编程语言

   由于二叉树是一种特殊的树,这种特殊的树,采用顺序存储结构就可以实现。既然是顺序存储结构,必然的是通过数组来实现了。

   有一种极端情况,就是深度为k的右斜树,只有k个结点,如果想要存储它,就要将它转换为二叉树,那么必然的需要2^k-1个结点,这么多结点中,只有k个结点是有效数据,所以,会造成空间的浪费。所以,顺序存储结构只适用于完全二叉树。

   那么,对于那种类似于极端情况的树,该如何存储呢?显然,顺序存储并不适合它。那么,可以考虑采用链式存储。也就是二叉链表。因为,二叉树每个结点最多有两个孩子,所以,在设计结构时,有一个变量用来存放数据,还有两个指针变量指向左孩子和右孩子。结构定义如下:

typedef struct BiNode{

    TElemType data;
    struct BiTNode *lchild, *rchild;

}BiTNode, *BiTree;


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI