33、高效内存的树编辑距离算法

高效内存的树编辑距离算法

1 引言

层次数据常被建模为树,树数据在众多应用中广泛出现,如JSON、XML等层次数据格式,以及天体物理学中的合并树。计算两棵树之间的相似度是一个有趣的查询,而树编辑距离是衡量树相似度的标准方法,它被定义为将一棵树转换为另一棵树所需的最小节点编辑操作成本序列。树编辑距离在许多应用中都有成功应用,并受到了数据库社区的广泛关注。

计算树编辑距离(TED)的最快算法是将输入树分解为较小的子树,并使用动态规划从子树的解构建整体解。不同TED算法的关键区别在于分解策略,这对运行时间有重大影响。早期计算TED的尝试使用硬编码策略,这种策略忽略或仅部分考虑输入树的形状,可能导致非常差的策略和高达多项式级别的渐近运行时间差异。

最近的进展是鲁棒树编辑距离(RTED)算法,它分两步操作:第一步计算分解策略,该策略适应输入树,并在LRH策略类中被证明是最优的;第二步执行该策略,进行实际的距离计算。

然而,RTED在策略计算时的内存消耗是个问题。对于大实例,策略计算所需的内存可能是实际距离计算的两倍,成为瓶颈。为解决这个问题,本文提出了MemoryOptStrategy算法,通过自底向上计算策略并提前释放部分记忆表,显著减少了策略计算的内存需求,至少减少50%,且在实践中从不超过距离计算所需的内存。

2 背景

2.1 符号表示

  • 树F是一个有向、无环、连通图,节点集合为N(F),边集合为E(F) ⊆ N(F) × N(F),每个节点最多有一条入边。
  • 在边(v, w)中,v是父节点,w是子节点,记为p(w) = v。
  • 没有父节点的
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值