树 - 二叉树 - 二叉树的存储结构(二)

 我来答
华源网络
2022-10-10 · TA获得超过5686个赞
知道小有建树答主
回答量:2486
采纳率:100%
帮助的人:162万
展开全部

  链式存储结构

   结点的结构

  二叉树的每个结点最多有两个孩子 用链接方式存储二叉树时 每个结点除了存储结点本身的数据外 还应设置两个指针域

  lchild和rchild 分别指向该结点的左孩子和右孩子 结点的结构为

  

   结点的类型说明

  typedef char DataType; //用户可根据具体应用定义DataType的实际类型

  typedef struct node{

  DataType data;

  Struct node *lchild *rchild; //左右孩子指针

  }BinTNode; //结点类型

  typedef BinTNode *BinTree;//BinTree为指向BinTNode类型结点的指针类型

   二叉链表(二叉树的常用链式存储结构)

  在一棵二叉树中 所有类型为BinTNode的结点 再加上一个指向开始结点(即根结点)的BinTree型头指针(即根指针)root 就构

  成了二叉树的链式存储结构 并将其称为二叉链表

  【例】下面左图所示二叉树的二叉链表如下面中图所示

  

  注意

  ① 一个二叉链表由根指针root惟一确定 若二叉树为空 则root=NULL;若结点的某个孩子不存在 则相应的指针为空

  ② 具有n个结点的二叉链表中 共有 n个指针域 其中只有n 个用来指示结点的左 右孩子 其余的n+ 个指针域为空

   带双亲指针的二叉链表

  经常要在二叉树中寻找某结点的双亲时 可在每个结点上再加一个指向其双亲的指针parent 形成一个带双亲指针的二叉链表

  【例】上面右图是上面左图所示的二叉树的带双亲指针的二叉链表

  注意

  二叉树存储方法的选择 主要依赖于所要实施的各种运算的频度

lishixinzhi/Article/program/sjjg/201311/23885

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式