问答题(2000年清华大学)

有 n 个顶点的有向强连通图最多有多少条边?最少有多少条边?

答案解析

有 n 个顶点的有向强连通图最多有 n(n -1)条边,最少有 n 条边。

讨论

已知有向图G采用邻接矩阵存储,其定义如下:typedef struct{//图的定义 int numberVertices,numEgges;//图中实际的顶点数和边数 char verticesList[maxV];//顶点表 int edge[maxV][maxV];//邻接矩阵}MGraph;将图中出度大于入度的顶点称为K顶点,如图,a和b都是K顶点,设计算法 int printVertices(MGraph G)对给定任意非空有向图G,输出G中所有K顶点,并返回K顶点的个数。(1)给出算法的设计思想。(2)根据算法思想,写出C/C++描述,并注释。

已知无向连通图 G 中各边的权值均为 1,下列算法中一定能够求出图 G 中从某顶点到其余各个顶点最短路径的是【 】Ⅰ.普利姆算法;Ⅱ.克鲁斯卡尔算法;Ⅲ.图的广度优先搜索

在一个有n个顶点的无向网中,有O(n1.5*log2n)条边,则应该选用【 】算法来求这个网的最小生成树,从而使计算时间较少。

在下列两种求图的最小生成树的算法中,【 】算法适合于求边稀疏的网的最小生成树。

Kruskal算法的时间复杂度为__________,它对__________图比较合适。

试列中下列图中全部可能的拓扑排序序列。

n个顶点的连通图用邻接矩阵表示时,该矩阵至少有__________个非零元素。

若一个有向图的邻接矩阵中对角线以下元素均为零,则该图的拓扑有序序列必定存在。

对于下面的有向图,其邻接矩阵是一个【 】的矩阵。

对于下面的有向图,采用邻接链表存储时,顶点 0的表结点个数为2,顶点3的表结点个数为0,顶点1的表结点个数为【 】。