5
通过多次传递来减少st-connectivity的空间使用?
假设将具有个顶点的图表示为m个边的流,但是允许对该流进行多次遍历。Ñ 米GGGnnnmmm Monika Rauch Henzinger,Prabhakar Raghavan和Sridar Rajagopalan观察到Ω(n/k)Ω(n/k)\Omega(n/k)空间对于确定G中两个给定顶点之间是否存在路径是必要的GGG,如果允许对数据进行kkk次传递。(另请参阅技术报告版本。)但是,它们没有提供实际实现此限制的算法。我假设一种最佳算法实际上将在现实的计算模型中占用O((nlogn)/k)O((nlogn)/k)O((n\, \log\, n)/k)空间,因为如果一个人不能使用恒定大小的指针索引内存,则必须区分nnn不同的顶点。 如何使用O((n \,\ log \,n)/ k)空间确定kkk传递的图形连通性?O((nlogn)/k)O((nlogn)/k)O((n\, \log\, n)/k) 如果只允许一次通过,则输入数据可以存储为一组顶点的分区,如果在两个不同集合中的顶点之间看到一条边,则合并这些集。显然,这最多需要O(nlogn)O(nlogn)O(n\, \log\, n)空间。我的问题是关于k>1k>1k > 1:如何才能使用更多的通道来减少所需的空间? (为避免琐碎性,kkk是不能被常数先验限制的参数,而空间界限是涉及nnn和k的函数的表达式kkk。) 更新:即使对于k=2k=2k=2,也有一种只存储n/2n/2n/2个顶点的方法确实很有用。还是实际上对于某个常数c都存在一个更强的下界cn,而与k无关?cncncnccckkk