6、随心所欲地遍历树结构

随心所欲地遍历树结构

1. 遍历的基本概念

1.1 树的定义

我们主要关注树的遍历,不过在有特定入口节点能替代根节点到达其他所有节点的情况下,图也可以进行遍历。这里我们着重讨论有序树,即对节点的子节点有顺序规定的树。有序树通常有两种定义方式:递归定义(类似项代数中的项)和图论定义(指定根节点,并对节点和边有额外约束),图论定义更有助于直观理解遍历过程。

我们假设树是“丰富”的,即节点可以带有构造函数和类型注释,叶子节点可以携带数据,边(也称为分支)可以有标签。对于树 t 中的任意节点 n ,可以进行以下观察:
- n.arity :以 n 为根的子树的元数(≥0)。
- n.root :判断 n 是否为树 t 的根节点。
- n.leaf :判断 n 是否为叶子节点(即 n.arity = 0 )。
- n.name n 的构造函数名(如果有)。
- n.type n 的类型(如果有)。
- n.data n 携带的数据(如果有)。
- n.parent :当 n

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值