非递归(栈)算法解析XML文件思路
一、前言概述
对于树状层次结构的数据,往往有两种处理思路:递归算法处理和非递归(栈)算法处理。
递归算法:简单易懂,且有些场景还必须使用递归算法才能处理。但递归算法也有其先天性的缺陷:运行效率较低、运行过程所耗费的时间和空间也相对较高,且其稳定行也不是很好(当递归达到一定深度时,进程栈空间可能不足,导致进程Coredump)!
非递归(栈)算法:算法相对比较复杂,不太好理解,但其运行效率较高。
二、解析流程
以下是XML树非递归(栈)算法的解析流程,此过程中需要重点解决:二叉树表示多叉树、栈和树的结合使用等。
还有就是,既然知道了如何构造XML树,那么其他功能(遍历XML树、打印XML树、释放XML树,添加/删除节点等)还有难度吗?
—— 邹祁峰
2013.03.07 22:39