57、基于内容的组播高效过滤算法解析

基于内容的组播高效过滤算法解析

1. 算法运行时间分析

在整个算法中,涉及到探测(probe)、截断(truncate)和合并(add merge)操作。
- 探测操作 :总共进行 $N$ 次探测,每次探测的时间复杂度 $\leq \log N$,因为每次探测实际上就是在二叉搜索树中进行一次搜索。
- 截断操作 :截断操作包含 $N$ 次搜索和 $\leq N$ 次删除(因为每个断点只被删除一次,并且组播树中的每个节点最多引入一个断点),每次操作的时间复杂度 $\leq \log N$。所以,截断和探测操作在整个算法中的时间复杂度为 $O(N \log N)$。
- 合并操作 :还需要证明所有合并操作的总时间复杂度为 $O(N \log N)$。下面的引理可以证明这一点:
- 引理 3 :计算 $D_v$ 时合并操作的总成本最多为 $n(v) \log n(v)$。
- 证明 :通过对 $v$ 的高度进行归纳。对于所有叶节点,该命题显然成立,因为不需要进行合并操作。在任何内部节点 $v$ 处,为了得到 $D_v$,需要依次合并 $D_{v_1}, D_{v_2}, \ldots, D_{v_{c(v)}}$。设 $s_i = \sum_{j = 1}^{i} n(v_i)$。通过归纳假设(对 $v$ 的子节点数量进行新的归纳),假设得到前 $i$ 个 $D_{v_j}$ 的合并函数的时间为 $s_i \log s_i$。当 $i = 1$ 时,基础情况通过归纳(之前的归纳)成立。假设

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值