非递归(栈)算法解析XML思路[申请专利]

Posted 祁峰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了非递归(栈)算法解析XML思路[申请专利]相关的知识,希望对你有一定的参考价值。

 

 

 

 

1 引言

    对于树状层次结构的数据,往往有两种处理思路:递归算法处理和非递归(栈)算法处理。

    递归算法:简单易懂,且有些场景还必须使用递归算法才能处理。但递归算法也有其先天性的缺陷:运行效率较低、运行过程所耗费的空间资源也相对较高。

    非递归(栈)算法:算法相对比较复杂,不太好理解,但其运行效率较高。

 

2 处理流程

2.1 解析XML

    以下是依据XML格式字串创建XML树的非递归(栈)算法的解析流程,此过程中需要重点解决:二叉树表示多叉树、栈和树的结合使用等。

图1 解析XML

 

2.2 组合XML

    以下是依据XML树生成对应的的XML格式字串的非递归(栈)算法的处理流程。

图2 组合XML

 

以上是关于非递归(栈)算法解析XML思路[申请专利]的主要内容,如果未能解决你的问题,请参考以下文章

二叉树--后序遍历的递归和非递归(leetcode 145

二叉树--先序遍历的递归和非递归(leetcode 144

Java快速排序的非递归实现

图算法 - 只需“五步” ,获取两节点间的所有路径(非递归方式)

3.4.4 利用栈将递归转换成非递归的方法

前序中序后续遍历二叉树的非递归实现