- 1
- 0
- 约 5页
- 2017-06-17 发布于湖北
- 举报
函数递归在树形结构数据遍历中的应用
我们在使用树形结构数据时,常常需要遍历整棵树或某一支下的所有结点,用于查找、打印等功能。因为树形结构不同于数组、链表等简单数据结构,它像树枝一样每个根结点可以具有多个子结点,无限延展,因此需要专门的算法去遍历。树形结构的遍历有很多种方法,下面我们以紫金桥监控组态软件(以下简称为“RealInfo”)为例,简单讲解函数递归在这种遍历方法中的应用。
在RealInfo中,“树形控件”是表示树状结构数据的组件,“自由报表”是表示表格数据的组件,这两种组件自身都提供了一些常用方法。我们现在实现这样的功能:将树形控件中的指定分支数据打印在自由报表中。可以利用窗口自定义函数的递归功能。
树形控件中的数据显示方式如下图所示:
每个结点以结点编码为唯一标识,每个结点可以显示一个字符串作为结点文本(详见RealInfo联机帮助)。
本例中,我们将树形结构数据打印在自由报表上,其效果如下图所示:
每个根结点打印完成后,遇到子结点时打印位置自动向右、向下移动一个单元格;遇到兄弟结点时打印位置向下移动一个单元格。
现在我们开始分析算法。我们知道,树的遍历是指沿着某条搜索路线,依次对中每个结点均做一次且仅做一次访问
函数首先判断输入结点是否具有子结点,如果没有则返回,如果有则取得子结点列表,然后循环打印每个子结点并递归调用自身函数打印其子结点,当一个结点a
您可能关注的文档
最近下载
- 慢性胃炎中西医结合诊疗指南.pptx
- 沥青混合料矿料级配设计计算图表_ (1).xls VIP
- SY_T 7354-2017本安型人体静电消除器安全规范.pdf
- 小学班主任工作课件 PPT.pptx VIP
- 加工中心检验条件 第4部分:线性和回转轴线的定位精度和重复定位精度检验及编制说明.pdf
- 2025年信息系统安全专家大数据平台安全与隐私计算专题试卷及解析.pdf VIP
- 2025年演出经纪人演出经纪合同电子签名与电子合同应用专题试卷及解析.pdf VIP
- 绿色供应链协同中的绿色仲裁制度设计与政策保障研究.pdf VIP
- 2025年上海市高考数学试卷(含答案解析).pdf
- 2025年信息系统安全专家多因素认证的备份与恢复机制专题试卷及解析.pdf VIP
原创力文档

文档评论(0)