复合对象解析为XML的顺序表算法的改进

   上次的算法采用的算法,不适合生成相对路径,另一个的弊端在于,如果这个解析树太过庞大,那么用来表示路径的数组就越庞大,占用了大量的空间,针对这一点,我又进行了改进,从而获得了一个使用空间较少的算法。

    此算法也可容易的生成相对路径。看例子,这次顺序表的结构发生了变化:




本次在存储结构上发生了变化,最上面一行表示存储的节点,下面的数字代表是该节点父节点所在的位置。当发现节点D已经存在时,记录下D的父节点位置1,然后从节点C开始向上查找父节点,如果一直查找到某个节点父节点的值小于1,说明他们不再一个分支上,在沿着D往上查找,相互交替,一直到他们到达根节点或者连续两个父节点相同,这时就可以组合出这个相对路径了。

    算法二比算法一在空间使用率上有了很大的改进,但是我还没有验证此算法的可靠性,欢迎大家批评指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值