二叉树_链式存储

 我来答
机器1718
2022-07-25 · TA获得超过6866个赞
知道小有建树答主
回答量:2805
采纳率:99%
帮助的人:163万
展开全部

二叉链:数据域(data)、左子结点域(lchild)、右子节点域(rchild)
定义:

求指定节点的左子节点地址:

求指定节点的右子节点地址:

二叉树的遍历:
定义: 按照某种顺序访问二叉树中的每个结点,使每个结点被访问一次且仅被访问一次;
用途: 它是树结构插入、删除、修改、查找和排序运算的前提,是二叉树一切运算的基础和核心;

遍历规则:
1、先序遍历(DLR): 头 -> 左 -> 右
2、中序遍历(LDR): 左 -> 头 -> 右
3、后序遍历(LRD): 左 -> 右 -> 头
先中后都是对于根结点而言。

二叉树遍历的递归实现:

访问方法:

先序遍历:

中序遍历:

后序遍历:

插一嘴:递归实现的思路清晰,易于理解,但是执行效率很低。非递归实现效率高些。

二叉树遍历的非递归实现:
先序遍历:

中序遍历:

后序遍历:好难-.-||略

利用“扩展先序遍历序列” 创建二叉树二叉链表:
1、若输入的字符是 '#',则建立空树;
2、否则建立根结点,接着递归建立左子树,然后递归建立右子树。

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式