(3)如果G是带权无向图,则:0:i 8o:其他A[ili]=w:若计(ij)EE(G)(4)如果G是带权有向图,则:80:其他A[illi]= Wi : 若计j且<ij>EE(G) 0 : i-j带权图注意:带权图和不带权图表示的元素类型不同。(不论有向还是无向图)A[ili用double表示,不带权图(不论有向还是无向图)A[ili用int表示。16
16 (3)如果G是带权无向图,则: A[i][j]= wij :若i≠j且(i,j)∈E(G) 0:i=j ∞:其他 (4)如果G是带权有向图,则: A[i][j]= wij :若i≠j且<i,j>∈E(G) 0:i=j ∞:其他 注意:带权图和不带权图表示的元素类型不同。带权图 (不论有向还是无向图)A[i][j]用double表示,不带权图 (不论有向还是无向图)A[i][j]用int表示
02210.0对称0电2I拉-不对称000C福17
17 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 0 0 1 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 2 3 0 41 2 3 0 4 A1= 0 1 2 3 4 01234 A 2 = 0 1 2 3 4 01234 对称 不对称
思考题:(1)对于有n个顶点e条边的无向图,邻接矩阵表示时有多少个元素,多少个非0元素?(2)对于有n个顶点e条边的有向图,邻接矩阵表示时有多少个元素,多少个非0元素?18
18 思考题: (1)对于有n个顶点e条边的无向图,邻接矩阵表示时 有多少个元素,多少个非0元素? (2)对于有n个顶点e条边的有向图,邻接矩阵表示时 有多少个元素,多少个非0元素?
邻接矩阵的特点如下:(1)图的邻接矩阵表示是唯一的。因此(2)无向图的邻接矩阵一定是一个对称矩阵。按照压缩存储的思想,在具体存放邻接矩阵时只需存放上(或下)三角形阵的元素即可(3)不带权的有向图的邻接矩阵一般来说是一个稀疏矩阵,因此,当图的顶点较多时,可以采用三元组表的方法存储邻接矩阵(4)对于无向图,邻接矩阵的第行(或第列)非零元素(或非0元素)的个数正好是第个顶点的度19
19 邻接矩阵的特点如下: (1)图的邻接矩阵表示是唯一的。 (2)无向图的邻接矩阵一定是一个对称矩阵。因此, 按照压缩存储的思想,在具体存放邻接矩阵时只需存放上 (或下)三角形阵的元素即可。 (3)不带权的有向图的邻接矩阵一般来说是一个稀疏 矩阵,因此,当图的顶点较多时,可以采用三元组表的方 法存储邻接矩阵。 (4)对于无向图,邻接矩阵的第i行(或第i列)非零元 素(或非∞元素)的个数正好是第i个顶点的度
(5)对于有向图,邻接矩阵的第行(或第列)非零元素(或非元素)的个数正好是第个顶点的出度(或入度)。(6)用邻接矩阵方法存储图,很容易确定图中任意两个顶点之间是否有边相连。但是,要确定图中有多少条边,则必须按行、按列对每个元素进行检测,所花费的时间代价很大。这是用邻接矩阵存储图的局限性20
20 (5)对于有向图,邻接矩阵的第i行(或第i列)非零元 素(或非∞元素)的个数正好是第i个顶点的出度(或入度)。 (6)用邻接矩阵方法存储图,很容易确定图中任意两个 顶点之间是否有边相连。但是,要确定图中有多少条边,则 必须按行、按列对每个元素进行检测,所花费的时间代价很 大。这是用邻接矩阵存储图的局限性