我编写了一个函数,给定n,生成随机nxn邻接矩阵。我想知道是否有办法计算矩阵所代表的图形中的三角形数。
答案 0 :(得分:12)
邻接矩阵的 n 次幂中的( i , j )元素 A 计数长度 n 的路径数从 i 开始,到 j 结束。
三角形是长度为3的路径,它在同一节点处开始和结束。因此, A 的第3次幂的 i '对角元素计算包含 i 作为节点之一的三角形数。
对于图中的三个节点中的每一个,每个不同的三角形将被计数两次(每个方向一次,顺时针和逆时针)。
因此不同三角形的数量为trace(A^3) / 6
。