我想我已经理解了如下所述的特定情况,但是我缺乏进行证明的理论知识,并且找不到任何提及它的来源。如果我的理解是正确的,我可以在我的邻接矩阵上节省一半的空间,如果不是,我可能会有非常奇怪的错误。所以我想确定一下,如果有更扎实背景的人可以审查我的推理,我将不胜感激。
假设我在 n * n 邻接矩阵中表示 n 个顶点的 DAG,这样条目i,j
是否1
存在从 vertexi
到 vertex的边j
,0
否则。因为该图是有向图和无环图,所以如果i,j = 1
,则j,i = 0
。如果我现在对矩阵中的节点进行排序,使得 i n处的节点的拓扑级别等于或大于 i n-1处的节点,那么在我看来,邻接矩阵的一半将始终只包含0
s ,如下例所示:
V 1 V 2 从 V 1 2 3 4 5 6 7 8 / \ / \ / \ / \ 到V 1 0 0 0 0 0 0 0 0 / \ / \ 2 0 0 0 0 0 0 0 0 e1/ e2\ e3/ e4\ 3 1 0 0 0 0 0 0 0 / \ / \ 4 1 1 0 0 0 0 0 0 V 3 V 4 V 5 5 0 1 0 0 0 0 0 0 /|\ / 6 0 0 0 1 0 0 0 0 / | \ / 7 0 0 0 1 0 0 0 0 / | \ / 8 0 0 0 1 1 0 0 0 e5/ e6| e7\ e8/ / | \ / V 6 V 7 V 8
也许我是对的,但是有没有正式的方法来检查这个?