导读
图计算就是研究如何高效计算、存储和管理大规模图数据。图是由顶点和边组成的,它可以对事物以及事物之间的关系建模,比如文章是点,文章与文章之间的超链接是边;或者顾客和商品是点,购买或者喜欢是边,购买的次数喜欢的程度是边的权重;再如银行卡持卡人是点,交易是边,交易频率交易金额是属性。
针对这些关系模型,我们可以用最短路径算法做好友推荐,计算关系紧密程度;最小连通图可以识别洗钱或虚假交易;Keyperson可以找到社区领袖,防止客户流失的群体效应;对图做PageRank可以做传播影响力分析,找出问题的中心,做搜索引擎的网页排名等。
▐ 图的存储方式:
图之所以复杂在于每个顶点的逻辑位置都是相对的,顶点之间的关联依赖也是不确定的,所以无法以数据元素在内存中的物理位置来表示元素之间的关系,即无法用简单的顺序存储结构来表示。所以将图的顶点和边分别使用两种结构来存储表示会相对容易。
图的邻接矩阵是一种常见的图存储结构,它将n个顶点存储在一维数组中,用n*n的矩阵来表示任意两点之间的关系。则主对角线全是无用空间,顶点的行向与列向边的数量之和分别表示它的出度和入度。显然对于边数量相对于顶点较少的稀疏矩阵会极大的浪费存储空间。