概念

  • 图:由顶点集合和顶点间的关系集合组成的一种数据结构
  • 有向图与无向图:在有向图中,顶点对(x,y)是有序的;无向图是无序的
  • 完全图:在有n个顶点的图有n(n-1)/2条边,即为完全无向图;有n(n-1)条边,即为完全有向图
  • 顶点的度:某一个顶点与其相关联的边的条数,有向图度是入度和出度之和
  • 生成树:一个连通图的生成树是其极小连通子图,包括图中所有顶点,包含n-1条边

图的存储结构-邻接矩阵

  • 在图的邻接矩阵表示中,有一个记录仪各个顶点信息的顶点表,还要一个表示各个顶点之间关系的邻接矩阵
  • image
  • 网络的邻接矩阵
  • image

邻接表

  • 邻接表是邻接矩阵的改进形式,需要把邻接矩阵的各行分别组织为一个单链表、
  • 无向图的邻接表:
  • image
  • 有向图的邻接表和逆邻接表:
  • image
  • 网络邻接表:
  • image

图的遍历与连通性

  • DFS(深度优先搜索)
  • BFS(广度优先搜索)

连通分量和生成树

  • 极小连通子图(一棵生成树)
  • 广度优先生成树、深度优先生成树
  • 非连通无向图生成的生成树组将组成非连通图的森林
  • 最小生成树(MST)
    • 网络带权重的最小和的生成树
  • Prim算法:从顶点开始依次找最短边,然后相连
  • image
  • Kruskal算法:将权重最短的不构成环的两点依次相连
  • image

TODO这里比较简略有机会可以考虑重新复习

AOV网络

  • 有先后顺序的网络关系
  • 构造AOV网络全部顶点的拓扑有序序列的运算叫拓扑排序

AOE网络

  • 关键路径:完成整个工程所需的时间取决于从源点到汇点的最长路径长度。这条路径最长的路径叫关键路径
  • 最短路径:两个地点之间的带权路径之和最短的路径
    • Dijkstra算法
    • Bellman和Ford算法
    • Floyd算法