二叉树简单总结

本文主要介绍了二叉树的定义,特点及链式存储结构,重点讲解了二叉树的遍历,包括先序遍历、中序遍历和后序遍历的逻辑,并通过例题展示了如何使用先序序列创建并遍历二叉树。
摘要由CSDN通过智能技术生成

一,二叉树的定义

二叉树是一种特殊形式的树结构,二叉树的特点是每个节点最多有两棵子树。

二叉树(Binary tree )是这样的数结构:它或者是空,或者是由一个根节点加上两棵分别称为左子树和右子树的互不相交的二叉树组成。显然这个定义是递归形式的。

二叉树的一般存储结构采用的是链式存储结构。直观地讲就是将二叉树的各个结点(根节点,叶子节点等)用链表的形式连接在一起。这样通过特定的算法就可以对二叉树中的每个节点进行操作。链式存储的二叉树结点的内存结构如图:

如图,二叉树有三个域,其中lchild 和 rchild 为指针域,用来指向该结点的左孩子和右孩子,data为数据域,用来存放该结点的数据。定义二叉树的结点:

typedef struct BiTNode
{
    char data; /*结点的数据域*/
    struct BiTNode *lchild,*rchild;/*指向左孩子和右孩子*/
}BiTNode ,*BitTree;

上述代码定义了一个二叉树的结点类型BiTNode ,也就是说二叉树的每一个结点都属于BiTNode 类型。另外定义了一个BitTree 类型,它就是指向BiTNode 类型数据(对象)的指针类型 变量声明 BitTree t

二,二叉树的遍历

假设我们已经建立

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值