找二叉树中给定元素的的左孩子结点_C语言:数据结构-二叉树的链式存储结构...

二叉树的链式存储结构


(1)结点类型定义

在二叉树的链接存储中,通常采用的方法是在每个结点中设置三个域:值域、左指针域和右指针域,其结点结构为:

d1fe6479fdfffe2550ac04ad37091f5b.png

其中data表示值域,用于存储对应的数据元素,left和right分别表示左指针域和右指针域,用以存储左孩子和右孩子结点的存贮位置(即指针)。

二叉树链式存储的结点类型可定义为:

 struct BTreeNode { char data;  struct BTreeNode* left; struct BTreeNode* right; };

(2)特点

链式存储的二叉树可通过某结点的左、右指针访问到该结点的左、右孩子。

对于图6-9(a)所示的二叉树,其链式存储结构如图6-9(b)所示,其中f为指向树根结点的指针,简称树根指针或根指针。

ca269ef27c40a48284ad4e0301cff7fe.png

二叉树的链接存储结构

(3)链式存储的二叉树的空指针域

1.n个结点有2n个指针域

2.n-1个指针域指向n-1个结点

3.空指针域为:2n-(n-1)=n+1,即 n个结点的二叉树共有(n+1)个指针域为空

如对于图(b)所示的二叉链表,共有9个结点和18个指针域,其中8个指针域非空,即指向对应结点,10个指针域为空。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值