针对现有方法低效或索引规模庞大的问题,提出一种双向搜索算法BiRch。当判断顶点u是否满足k步可达顶点v时,首先比较u的出度和v的入度,优先处理度小的顶点。其优点体现在使用较小的索引,同时避免由于u的出度过大所需要访问的顶点数量。基于 19 个真实数据集进行测试,实验结果从索带来的效率下降问题;提出基于双向广度层数和双向拓扑层数的剪枝策略来辅助过滤,减少引构建时间、索引大小、查询响应时间、处理顶点数量以及扩展性方面验证了所提方法相对于现有方法的高效性。