1.若E是有向边(也称为弧)的有限集合时,则图G为有向图;若E是无向边(简称边)的有限集合时,则图G为无向图。
2.有n(n-1)/2条边的无向图称为完全图,具有n(n-1)条弧的有向图称为有向完全图。
3.简单路径:序列中顶点不重复出线的路径称为简单路径。
4.简单回路:除了第一个顶点和最后一个顶点之外,其余顶点不重复出线的回路,称为简单回路或简单环。
5.回路:第一个顶点和最后一个顶点相同的路径称为回路或环。
6.无向图中任意两个顶点都是连通的,则称图G为连通图。连通分量指的是无向图中的极大连通子图。
7.有向图中G中,对于每一对Vi,Vj(Vi≠Vj),从Vi到Vj和从Vj到Vi都存在路径,则称G是强连通图。
8.一个连通图的生成树是一个极小连通子图,它含有途中全部顶点,但只有足以构成一棵树的n-1条边。一棵有n个顶点的生成树有且仅有n-1条边。但有n-1条边的图不一定是生成树。
9.用邻接矩阵构造一个具有n个顶点和e条边的无向网G的时间复杂度为O(n^2+e·n),其中对邻接矩阵的初始化耗费了O(n^2)的时间。
10.若无向图中有n个顶点、e条边,则它的邻接表需n个头结点和2e个表结点。
11.图的遍历:从图中某一顶点出发访遍图中其余顶点,且使每一个顶点仅被访问一次。这个过程就叫做图的遍历。
12.对于同一个图,基于邻接矩阵的遍历所得到的DFS序列和BFS序列式唯一的,基于邻接表的遍历所得到的DFS序列和BFS序列是不唯一的。
13.用邻接矩阵作图的存储结构时,DFS和BFS的时间复杂度为O(n^2),用邻接表作图的存储结构时,DFS和BFS的时间复杂度为O(n+e)。
14.判断有向图中是否存在回路:拓扑排序和深度优先遍历算法。
15.最小生成树不是唯一的,即最小生成树的树形不唯一。但最小生成树的代价即树上各边的代价之和是唯一的。
16.Prim算法的时间复杂度为O(n^2),与网中的边数无关,因此适用于求边稠密的最小生成树。而克鲁斯卡尔算法的时间复杂度为O(eloge)(e为网中边的数目),适合于求边稀疏的最小生成树。
17.拓扑排序:①在有向图中选一个没有前驱的顶点且输出之;②从图中删除该顶点和所有以它为尾的弧;③重复上述两步,直至全部顶点均已输出,或者当前图中不存在无前驱的顶点为止。
18.拓扑排序的时间复杂度为:O(n+e).
19.AOV网:顶点表示活动,弧表示活动间优先关系;AOE网:边表示活动。
20.AOV网中的关键路径:路径长度最长的路径。关键路径上的所有活动都是关键活动,因此提前完成非关键活动并不能加快工程的进度。
21.关键路径的算法:(书p184)
22.求关键路径的时间复杂度为O(n+e)。
23.迪杰斯特拉求单源最短路径的时间复杂度是O(n^2),弗洛伊德求每一对顶点之间的最短路径的时间复杂度为O(n^3)。