为什么n各节点的的二叉链表中有n+1个空链域

 我来答
教育小百科达人
2021-01-03 · TA获得超过156万个赞
知道大有可为答主
回答量:8828
采纳率:99%
帮助的人:476万
展开全部

因为n个节点有2n个指针

又因为n个节点中有n-1条边

除了头结点没有边,其余节点都有一个父节点,相当于都有1条边,共n-1条

剩下的空链域就是2n-(n-1)=n+1,即n+1个空指针

以二叉链表作为树的存储结构。链表中结点的两个链域分别指向该结点的第一个孩子结点和下一个兄弟结点。



扩展资料:

typedef struct CSNode{

ElemType data;

struct CSNode *firstchild , *netsibling;

} CSNode,* CSTree;

由于二叉树的存储结构比较简单,处理起来也比较方便,所以有时需要把复杂的树,转换为简单的二叉树后再作处理。

使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。

链表最明显的好处就是,常规数组排列关联项目的方式可能不同于这些数据项目在记忆体或磁盘上顺序,数据的存取往往要在不同的排列顺序中转换。

mfvtxrw
2011-06-11 · TA获得超过2866个赞
知道小有建树答主
回答量:1556
采纳率:100%
帮助的人:799万
展开全部
很简单,因为每一个节点有左右两个指针,n个节点共有2n个链域,
而n个节点只需用n-1个指针就可互连(因为连接n个点只需n-1条直线),
所以还剩下2n-(n-1)=n+1个。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
codyboyzj
推荐于2017-09-26 · TA获得超过592个赞
知道小有建树答主
回答量:271
采纳率:0%
帮助的人:565万
展开全部
n个节点有2n个指针
数学中n个点中有几个线段?
n个节点用n-1个线就可以链接起来
剩下的不就是2n-(n-1)=n+1个空指针
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
韩野匡盼晴
2019-10-20 · TA获得超过3657个赞
知道大有可为答主
回答量:3112
采纳率:33%
帮助的人:199万
展开全部
可以这样考虑,链域一共有2*n个,(每个点有两个鲢鱼),对于除了根节点以外的每个点都是有一个父亲节点,所以一共有n-1个指针指向某个节点,形成n-1个有东西的链域(减1即是父亲节点)所以一共有2*n-(n-1)=n+1个链域没有指向任何东西
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神可翔
2021-08-15
知道答主
回答量:1
采纳率:0%
帮助的人:461
展开全部
把空链域当做新的叶结点,这样树原来的结点度全为2,又由于度为0的节点数等于度为2的节点数+1,那么空链域的值就等于n+1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式