论文部分内容阅读
很多实际应用问题中包含的信息可以抽象成图,将实体抽象成点,实体间的相应关系抽象成边,解决好图问题就可以很好地解决好与之对应的实际问题。但是随着数据量的累积,相应的图模型的规模也在逐渐变大,这就导致了很多传统的算法在时间复杂度和空间复杂度方面都不能很好地解决这些问题。针对这个问题,图压缩应运而生,通过将图的点或者边进行合并来降低图的规模,在压缩后的图上进行操作,进而减少时间和空间消耗。基于以上观点,本文提出点的朴素相似的概念,并运用这个概念来压缩图,通过边编码来记录点与点之间的邻接关系,保证压缩过程为无损压缩,即可以由压缩图还原出原始图。同时,我们的压缩方法保证得到的压缩图可以支持大部分的图操作。割点求解操作是图的一个传统操作,割点的存在与否决定着图的连通性的好坏。本文将给出压缩图上的割点求解算法,即改进的深度优先搜索树算法,通过在压缩图上运行该算法,可以快速确定原图中是否存在割点,若存在割点则快速、准确地返回全部割点。三角列举操作同样被人们研究了好久,该操作给出图的全部大小为3的团,即三角形,有助于更好地分析图的内部结构。我们将给出压缩图上的三角列举算法,通过在压缩图上运行算法,可以快速、准确地返回原图中的全部的三角形。当今数据最大的特点是数据规模巨大和数据更新迅速,应对好这两个特点将会使相应的问题得以很好地解决。压缩算法的提出解决了数据规模巨大的问题,使得传统的内存算法在其上面运行成为可能,但很多传统的算法不能够应对数据更新迅速的特点,针对每次的更新传统算法必须重新计算,这使得线性的算法在针对更新多次重新计算后也失去了优势。针对这个问题我们提出了压缩图上的动态维护算法,在压缩图上进行动态更新,而不需要解压操作,这样既保证了不用重新压缩全部的图,只需根据局部进行更新,同时又可以在更新后的压缩图上运行算法,减少运行时间。