RDF数据关键字搜索的线性和单调策略
1 线性策略
1.1 算法流程
线性策略的算法最多迭代 k 次以生成最佳的 k 个解决方案,具体步骤如下:
1. 初始化 :在每次迭代中,首先从每个簇中选取得分最高的路径,初始化集合 first cl。
2. 获取顶部路径 :使用 DequeueTop 函数从 first cl 中获取得分最高的路径。
3. 计算连通分量 :根据 first cl 计算连通分量 cc,每个连通分量代表一个解决方案。
4. 插入优先级队列 :将生成的连通分量按得分顺序插入优先级队列 s。
5. 选择最佳元素 :通过 DequeueTop 的变体,将 s 中的前 n 个元素(n = k - |S|)插入结果列表 S。
6. 终止条件 :当生成 k 个解决方案(|S| < k)或簇列表 CL 为空时,算法结束。
1.2 计算复杂度
该算法在匹配输入查询 Q 的路径数量 I 上以线性时间生成最佳 k 个解决方案,复杂度为 O(k×I) ∈O(I)。具体分析如下:
- 迭代次数 :最坏情况下,算法迭代 k 次。
- 初始化操作 :第 4 - 5 行的执行复杂度为 O(|(CL)|) ∈O(I)。
- 连通分量计算