一、图论基础
图分为有限图与无限图两类,本课只涉及有限图,即顶点和边都是有限集合
     
   
(2)有向图:每一条边都是有向的
无向图:每一条边都是无向的
除外都是混合图
     
   
注意:有向图边的描述{1.每一条边都需要描述到 2.<始点,终点>
(3)邻接点:两个结点之间有一条边连接它们,它们就是彼此的邻接点
邻接边:连接同一结点的两条边为邻接边
孤立结点:没有任何一条边连接它
零图:仅由孤立结点构成
平凡图:仅由一个孤立结点构成
自回路:边的头和尾连接在同一个节点上
度数:连接结点的边数(一个环算2条边),记为deg(v)
     
   
    定理(1)
    
     图中,所有结点的度数和=2*图中的边数和
    
   
    (2)
    
     度数是奇数的结点的个数必为偶数个
    
   
     
   
(4)有向图有入度和出度之分:由结点发出的边为出度,接受的结点的边为入度
    
     所有结点的出度数和所有结点的入度数和是一样的,且是边的数目。
    
   
    
     结点的出度与入度的和为该结点的度数
    
   
    
     (5)平行边:两结点之间有两条边连接,这两条边为平行,可能不止就两条边
    
   
    
     拥有平行边的是多重图,不含平行边和环的是简单图
    
   
    
     多重图:
    
   
    
     简单图:
    
   
    
     {完全图:简单图中能够满足每两个结点间都有边
    
   
    
     
      n
     
    
    
     
      个结点的无向完全图的边数为:
     
    
   
1/2*n*(n-1)
    
     补图:
    
    
     
      给定一个图
     
    
    
     
      G
     
    
    
     
      ,由
     
    
    
     
      G
     
    
    
     
      中所有结点和所有能使
     
    
    
     
      G
     
    
    
     
      成为完全图的添加边组成的图,称为
     
    
    
     
      G
     
    
    
     
      的相对于完全图的补图,或简称为
     
    
    
     
      G
     
    
    
     
      的补图。
     
    
    
     }
    
   
(6)子图:G图中截取的一部分为子图
生成子图:子图中有一部分图拥有所有G图中的结点的称为生成子图
    
     例1.
    
    
     至少要经过多少次对换才能把6 3 7 8 5 1 2 4 9 10
    
    
     变为标准
    
   
    
     顺序的排列?
    
   
     
   
     
   
K(G):点连通度
λ(G):边连通度
δ(G)
     
   
矩阵A是对称矩阵
A^2表示i到j长度为2的路径数目
     
   
     
   
无向图的权矩阵是对称矩阵
     
   
相关的matlab知识:
graph:无向图
G=graph(A):以邻接矩阵A创无向图
    G=graph(A,node):
    
     使用邻接矩阵
    
    
     A
    
    
     和顶点
    
    
     nodes
    
    
     创建赋权无向图,其中
    
    
     nodes
    
    
     是表示顶点的字符串。
    
    
     例:
    
    
     nodes=cellstr(strcat(‘v’,int2str([1:6]’)));
    
   
    
     G=graph:创一个空的无向图
    
   
    
     G=graph(s,t):以结点对创无向图
    
   
    
     digraph:有向图
    
   
     
   
    
     G=graph
    
    
     (
    
    
     s,t
    
    
     ,
    
    
     weight
    
    
     )
    
    
     :
    
    
     使用顶点对
    
    
     s,t
    
    
     和权重向量创建赋权无向图。
    
   
    
     G=graph(
    
    
     s,t
    
    
     ,
    
    
     weight
    
    
     ,
    
    
     nodes
    
    
     )
    
    
     :
    
    
     使用顶点对
    
    
     s,t
    
    
     和权重向量创建赋权无向图
    
    
     ,
    
    
     并使用字符向量
    
   
    
     元胞数组
    
    
     nodes
    
    
     指定顶点名称。
    
   
    
     W=adjacency(G):  导出图
    
    
     G
    
    
     的邻接矩阵的稀疏矩阵
    
   
    
     W=incidence(G):  导出图
    
    
     G
    
    
     的关联矩阵的稀疏矩阵
    
   
     
   
    
     clc,clear, close all
    
   
    
     E=[1,2;1,3;
    
    
     2,3;
    
    
     3,2;
    
    
     3,5;
    
    
     4,2;
    
    
     4,6;
    
    
     5,2;
    
    
     5,4;
    
    
     6,5];
    
   
    
     s=E(:,1);
    
   
    
     t=E(:,2);
    
   
    
     nodes=cellstr(strcat(‘v’,int2str([1:6]’)));
    
   
    
     G=digraph(s,t,[],nodes);
    
   
    
     plot(G,’LineWidth’,1.5,’Layout’,’circle’)
    
   
     
   
    
     clc,clear,close all
    
   
    
     E=[1,3,10; 1, 4,60; 2, 3, 5; 2, 4, 20; 3, 4, 1];
    
   
    
     nodes=cellstr(strcat(‘v’,int2str([1:4]’)));
    
   
    
     G=graph(E(:,1), E(:,2), E(:,3),nodes);
    
   
    
     %% W1=adjacency(G, ‘weighted’)
    
   
    
     nn = numnodes(G);
    
   
    
     [s,t] = findedge(G);
    
   
    
     W1 = sparse(s,t,G.Edges.Weight,nn,nn)
    
   
    
     W2=incidence(G)
    
   
    
     plot(G,’Layout’,’force’,’EdgeLabel’,G.Edges.Weight)
    
   
 
