已知某带权图G的邻接表如下所示,其中表结点的结构为:以下关于该图的叙述中,正确的是( )。A.图G是强连通图 B.图G具有14条弧 C.顶点B的出度为3 D.顶点B的入度为3

题目

已知某带权图G的邻接表如下所示,其中表结点的结构为:以下关于该图的叙述中,正确的是( )。

A.图G是强连通图 B.图G具有14条弧 C.顶点B的出度为3 D.顶点B的入度为3


相似考题

3.阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。[说明]邻接表是图的一种顺序存储与链式存储结合的存储方法。其思想是:对于图G中的每个顶点 vi,将所有邻接于vi的顶点vj连成一个单链表,这个单链表就称为顶点vi的邻接表,其中表头称作顶点表结点VertexNode,其余结点称作边表结点EdgeNode。将所有的顶点表结点放到数组中,就构成了图的邻接表AdjList。邻接表表示的形式描述如下: define MaxVerNum 100 /*最大顶点数为100*/typedef struct node{ /*边表结点*/int adjvex; /*邻接点域*/struct node *next; /*指向下一个边表结点的指针域*/ }EdgeNode;typedef struct vnode{ /*顶点表结点*/int vertex; /*顶点域*/EdgeNode *firstedge; /*边表头指针*/}VertexNode;typedef VertexNode AdjList[MaxVerNum]; /*AdjList是邻接表类型*/typedef struct{AdjList adjlist; /*邻接表*/int n; /*顶点数*/}ALGraph; /*ALGraph是以邻接表方式存储的图类型*/深度优先搜索遍历类似于树的先根遍历,是树的先根遍历的推广。下面的函数利用递归算法,对以邻接表形式存储的图进行深度优先搜索:设初始状态是图中所有顶点未曾被访问,算法从某顶点v出发,访问此顶点,然后依次从v的邻接点出发进行搜索,直至所有与v相连的顶点都被访问;若图中尚有顶点未被访问,则选取这样的一个点作起始点,重复上述过程,直至对图的搜索完成。程序中的整型数组visited[]的作用是标记顶点i是否已被访问。[函数]void DFSTraverseAL(ALGraph *G)/*深度优先搜索以邻接表存储的图G*/{ int i;for(i=0;i<(1);i++) visited[i]=0;for(i=0;i<(1);i++)if((2)) DFSAL(G,i);}void DFSAL(ALGraph *G,int i) /*从Vi出发对邻接表存储的图G进行搜索*/{ EdgeNode *p;(3);p=(4);while(p!=NULL) /*依次搜索Vi的邻接点Vj*/{ if(! visited[(5)]) DFSAL(G,(5));p=p->next; /*找Vi的下一个邻接点*/}}

参考答案和解析
正确答案:D
更多“已知某带权图G的邻接表如下所示,其中表结点的结构为: 以下关于该图的叙述中,正确的是( ”相关问题
  • 第1题:

    己知某带权图G的邻接表如下所示,其中表结点的结构为:

    则图G是______。

    A.无向图

    B.完全图

    C.有向图

    D.强连通图


    正确答案:C
    解析:本题考查数据结构基础知识。
    完全图是每对顶点之间都恰连有一条边的简单图。n个端点的完全图有n个端点及n(n ? 1) / 2条边。
      强连通图(Strongly Connected Graph)是指一个有向图(Directed Graph)中任意两点v1、v2间存在v1到v2的路径(path)及v2到v1的路径的图。
      从上面的表结构可以看出,有v1→v3的边,但没有v3→v1的边,显然这不是无向图,也不是完全图和强连通图,只能是有向图。

  • 第2题:

    有向图的邻接表和逆邻接表中表结点的个数不一定相等。

    此题为判断题(对,错)。


    正确答案:×

  • 第3题:

    以下关于图及其存储结构的叙述中,正确的是( )。

    A.无向图的邻接矩阵一定是对称的

    B.有向图的邻接矩阵一定是不对称的

    C.无向图采用邻接表存储更节省存储空间

    D.有向图采用邻接表存储更节省存储空间


    正确答案:A
    解析:邻接矩阵(Adjacency Matrix)是表示顶点之间相邻关系的矩阵。无向图的邻接矩阵一定是对称的,而有向图的邻接矩阵不一定对称。邻接表是图的一种链式存储结构。对图的每个顶点建立一个单链表(n个顶点建立n个单链表),第i个单链表中的结点包含顶点Vi的所有邻接顶点,又称链接表。

  • 第4题:

    某有向图 G 及其邻接矩阵如下所示。以下关于图的邻接矩阵存储的叙述中,错误的是( )。

    A. 有向图的邻接矩阵可以是对称矩阵B. 第 i行的非零元素个数为顶点 i的出度C. 第 i行的非零元素个数为顶点 i的入度D. 有向图的邻接矩阵中非零元素个数为图中弧的数目


    正确答案:C

  • 第5题:

    某工作的作匀速进展横道图如下图所示,下面选项中表述正确的是( )。


    正确答案:C

  • 第6题:

    某图的邻接矩阵如下,该图为(请作答此空);若采用邻接表表示该图,则邻接表中用来表示边(或弧)的表结点总数为( )个。

    A.无向图
    B.有向图
    C.完全图
    D.二部图

    答案:B
    解析:
    图的邻接矩阵是一个方阵,所有行标和列标都与图中的顶点一一对应,这样对于矩阵中的一个元素 [i,j],其值为1 表示 i、j 对应的顶点间有边(或弧),其值为 0则表示 i、j对应的顶点间不存在边(或弧)。显然,图中总共有9条边。在无向图中,边 (i,j)与(j,i)是指同一条边,其取值是相同的;在有向图中, 是两条不同的弧。而在本题中,矩阵中的(i,j)与(j,i)是不同的,因此这个是有向图。

  • 第7题:

    某有向图G的邻接表如下图所示,可看出该图中存在弧,而不存在从顶点v.出发的弧。以下关于图G的叙述中,错误的是( )

    A.G中存在回路
    B.G中每个顶点的入度都为1
    C.G的邻接矩阵是对称的
    D.不存在弧小于V3,vi>

    答案:C
    解析:

  • 第8题:

    对于如下所示的有向图,其邻接矩阵是一个( )的矩阵,采用邻接链表存储时顶点的表结点个数为2,顶点5的表结点个数为0,顶点2和3的表结点个数分别为(请作答此空)

    A.2.1
    B.2.2
    C.3.4
    D.4.3

    答案:B
    解析:
    如果是采用邻接表的方式存储,那么对于顶点V0来说,结点个数是2。

    同理,题干是5个结点的有向图若采用邻接矩阵存储是一个5*5 的矩阵,若采用邻接表的方式存储,顶点2和3的表结点个数分别为2、2。

  • 第9题:

    已知某带权图G的邻接表如下所示,其中表结点的结构为:

    则图G是( )。

    A.无向图
    B.完全图
    C.有向图
    D.强连通图

    答案:C
    解析:
    本题考查数据结构基础知识。
    从题中的邻接表中可知,该图的边为,如下图所示,显然,这是个有向图。



    在无向图中,若存在边(vi,vj),则它同时为vj和vi之间的边。在上面的邻接表中,存在边,而不存在,因此该图不是无向图。
    对于无向图,其边数e和顶点数n的关系为e=n×(n-1)/2。对于有向图,其边数e和顶点数n的关系为e = n×(n-1),因此该图不是完全图。
    若有向图为强连通图,则任意两个顶点间要存在路径。在该有向图中,由于顶点v4没有出边,因此,不存在v4到其他顶点的路径,因此该图不是强连通图。

  • 第10题:

    在有向图的邻接表和逆邻接表表示中,每个顶点邻接表分别链接着该顶点的所有()和()结点。


    正确答案:出边;入边

  • 第11题:

    填空题
    在图G的邻接表表示中,每个顶点邻接表中所含的结点数,对于无向图来说等于该顶点的();对于有向图来说等于该顶点的()。

    正确答案: 度,出度
    解析: 暂无解析

  • 第12题:

    单选题
    设无向图G有n个顶点m条边,则其邻接表中表结点数是()
    A

    n

    B

    2n

    C

    m

    D

    2m


    正确答案: B
    解析: 暂无解析

  • 第13题:

    阅读以下函数说明和C代码,将C程序中(1)~(5)空缺处的语句填写完整。

    [说明]

    函数int Toplogical(LinkedWDigraphG)的功能是对图G中的顶点进行拓扑排序,并返回关键路径的长度。其中,图G表示一个具有n个顶点的AOE-网,图中顶点从1~n依次编号,图G的存储结构采用邻接表表示,其数据类型定义如下。

    例如,某AOE-网如图6-22所示,其邻接表存储结构如图6-23所示。

    [函数]


    正确答案:是一道要求读者掌握数据结构中拓扑排序和求关键路径问题的算法分析及设计题。本题的解答思路如下。 AOE网(Activity On Edge network边表示活动的网)是一个带权的有向无环图其中顶点表示事件弧表示活动权表示活动持续的时间。通常AOE网可以用来估算工程的完成时间。 在AOE网中入度为0的顶点为源点出度为0的顶点为汇点。由于有些活动可以并行地执行因此从源点到汇点的路径中长度最长的路径称为关键路径(路径长度即指路径上各种活动持续时间之和)。表示事件的顶点存在最早、最晚发生时间。若以顶点V1表示源点、顶点Vn表示汇点则汇点的最早发生时间和最晚发生时间是一致的并且等于关键路径的长度。 设顶点Vj的最早发生时间用ve(j)表示则ve(j)是指从源点V1到Vj的最长路径长度(时间)。这个时间决定了所有从Vj发出的弧所表示的活动能够开工的最早时间。 ve(j)计算方法为 其中T是所有到达顶点j的弧的集合;dut(Ij>)是弧Ij>上的权值;n是网中的顶点数(即汇点的序号)。 显然上式是一个从源点开始的递推公式。Ve(j)的计算必须在Vj的所有前驱顶点的最早发生时间全部求出后才能进行。这样必须对AOE网进行拓扑排序然后按拓扑有序序列逐个求出各顶点事件的最早发生时间。 拓扑排序是将有向无环图中所有顶点排成一个线性序列的过程并且该序列满足:若在有向图中从顶点Vi到Vj有一条路径则在该线性序列中顶点Vi必然在顶点Vj之前。可见拓扑排序序列是由有向图中的所有顶点构成的一个线性序列在这个序列中体现了所有顶点之间的优先关系。 对AOE网进行拓扑排序的步骤如下: ①首先在AOE网中选择一个入度为0(没有前驱)的顶点且输出它。 ②然后从网中删除该顶点并且删除以该顶点为始点的所有引出边。 ③重复上述两个步骤直至网中不存在入度为0的顶点为止。 在拓扑排序过程中有可能同时存在多个入度为0的顶点函数中用顺序栈Stack[]暂存入度为0且没有进入拓扑序列的顶点。 本试题所给出的算法首先申请了3块连续的地址空间分别用来存放关键路径长度、网中各顶点的入度及入度为0的顶点编号它们的首地址分别存放在指针变量Ve、indegree、Stack中。 算法主体是由3个for循环和3个while循环组成。第1个for循环即for(j=1;j=G.n;j++){ve[j]=0; indegree[j]=O;}主要完成数组初始化的功能。 进行拓扑排序之前应先求出网中每个顶点的入度并存入数组indegree[]中从而将“从网中删除该顶点及其与该顶点有关的所有边”的操作转换为“相关顶点的入度减1”一旦发现某个顶点的入度变为0就将其编号压入堆栈。从而将选择入度为0的顶点转化为从Stack中弹出栈顶元素所代表的顶点。 题目中顶点从1开始编号顶点Vi的编号为i第2个for循环代码主要完成求网中各个顶点的入度的功能。 在有向图中若以V2为尾的弧有V2V4>且权值为30、V2V6>且权值为50则其的邻接表表示形式是:V2→430→650^。 因此扫描顶点V2的邻接表可以将邻接于V2的所有顶点的入度加1即(1)空缺处应填入“indegree[p ->adjvex)++”或其等价形式。 第3个for循环语句主要完成求网中入度为0的顶点并保存其编号的功能。以下代码实现拓扑排序并求解各个顶点时事件的最早发生时间。 由于入度为0的顶点由栈中弹出根据变量w在后续代码中所起的作用——存放网中没有直接前驱的顶点并通过printf语句输出可知(2)空缺处应填入“Stack[top--]”或其等价形式。 然后在网中删除没有直接前驱的顶点和以该顶点为始点的所有引出边并通过内嵌的while循环语句把这些引出边对应的终点的入度减1即将邻接到顶点w的各个顶点(p->adjvex)的入度减1再判断它们是否也是入度为0的顶点。因此(3)空缺处应填入“indegree[p->adjvex]——”或其等价形式。 同时对于顶点p->adjveX而言当删除其所有引入边之后从源点出发到达它的最长路径长度也就计算出来了所以每删除一条到达顶点p->adjvex的引入边都要查看一下最长路径长度是否需要更新。因此(4)空缺处填入“ve[w]+p->weight>ve[p->adjvex]”或其等价形式。 算法程序的最后部分通过return语句返回该图的关键路径长度即汇点的最早发生时间(该AOE网的关键路径长度)。由于AOE网中汇点未必是编号最大的顶点但它必然是从栈中弹出的最后一个顶点因此(5)空缺处填入“ve[w]”或其等价形式。
    是一道要求读者掌握数据结构中拓扑排序和求关键路径问题的算法分析及设计题。本题的解答思路如下。 AOE网(Activity On Edge network,边表示活动的网)是一个带权的有向无环图,其中顶点表示事件,弧表示活动,权表示活动持续的时间。通常,AOE网可以用来估算工程的完成时间。 在AOE网中,入度为0的顶点为源点,出度为0的顶点为汇点。由于有些活动可以并行地执行,因此从源点到汇点的路径中,长度最长的路径称为关键路径(路径长度即指路径上各种活动持续时间之和)。表示事件的顶点存在最早、最晚发生时间。若以顶点V1表示源点、顶点Vn表示汇点,则汇点的最早发生时间和最晚发生时间是一致的,并且等于关键路径的长度。 设顶点Vj的最早发生时间用ve(j)表示,则ve(j)是指从源点V1到Vj的最长路径长度(时间)。这个时间决定了所有从Vj发出的弧所表示的活动能够开工的最早时间。 ve(j)计算方法为 其中,T是所有到达顶点j的弧的集合;dut(I,j>)是弧I,j>上的权值;n是网中的顶点数(即汇点的序号)。 显然,上式是一个从源点开始的递推公式。Ve(j)的计算必须在Vj的所有前驱顶点的最早发生时间全部求出后才能进行。这样必须对AOE网进行拓扑排序,然后按拓扑有序序列逐个求出各顶点事件的最早发生时间。 拓扑排序是将有向无环图中所有顶点排成一个线性序列的过程,并且该序列满足:若在有向图中从顶点Vi到Vj有一条路径,则在该线性序列中,顶点Vi必然在顶点Vj之前。可见,拓扑排序序列是由有向图中的所有顶点构成的一个线性序列,在这个序列中体现了所有顶点之间的优先关系。 对AOE网进行拓扑排序的步骤如下: ①首先在AOE网中选择一个入度为0(没有前驱)的顶点且输出它。 ②然后从网中删除该顶点,并且删除以该顶点为始点的所有引出边。 ③重复上述两个步骤,直至网中不存在入度为0的顶点为止。 在拓扑排序过程中,有可能同时存在多个入度为0的顶点,函数中用顺序栈Stack[]暂存入度为0且没有进入拓扑序列的顶点。 本试题所给出的算法首先申请了3块连续的地址空间,分别用来存放关键路径长度、网中各顶点的入度及入度为0的顶点编号,它们的首地址分别存放在指针变量Ve、indegree、Stack中。 算法主体是由3个for循环和3个while循环组成。第1个for循环,即for(j=1;j=G.n;j++){ve[j]=0; indegree[j]=O;},主要完成数组初始化的功能。 进行拓扑排序之前,应先求出网中每个顶点的入度并存入数组indegree[]中,从而将“从网中删除该顶点及其与该顶点有关的所有边”的操作转换为“相关顶点的入度减1”,一旦发现某个顶点的入度变为0,就将其编号压入堆栈。从而将选择入度为0的顶点转化为从Stack中弹出栈顶元素所代表的顶点。 题目中顶点从1开始编号,顶点Vi的编号为i,第2个for循环代码主要完成求网中各个顶点的入度的功能。 在有向图中,若以V2为尾的弧有V2,V4>且权值为30、V2,V6>且权值为50,则其的邻接表表示形式是:V2→4,30→6,50^。 因此,扫描顶点V2的邻接表可以将邻接于V2的所有顶点的入度加1,即(1)空缺处应填入“indegree[p ->adjvex)++”或其等价形式。 第3个for循环语句主要完成求网中入度为0的顶点并保存其编号的功能。以下代码实现拓扑排序并求解各个顶点时事件的最早发生时间。 由于入度为0的顶点由栈中弹出,根据变量w在后续代码中所起的作用——存放网中没有直接前驱的顶点,并通过printf语句输出,可知(2)空缺处应填入“Stack[top--]”或其等价形式。 然后,在网中删除没有直接前驱的顶点和以该顶点为始点的所有引出边,并通过内嵌的while循环语句把这些引出边对应的终点的入度减1,即将邻接到顶点w的各个顶点(p->adjvex)的入度减1,再判断它们是否也是入度为0的顶点。因此(3)空缺处应填入“indegree[p->adjvex]——”或其等价形式。 同时,对于顶点p->adjveX而言,当删除其所有引入边之后,从源点出发到达它的最长路径长度也就计算出来了,所以每删除一条到达顶点p->adjvex的引入边,都要查看一下最长路径长度是否需要更新。因此,(4)空缺处填入“ve[w]+p->weight>ve[p->adjvex]”或其等价形式。 算法程序的最后部分,通过return语句返回该图的关键路径长度,即汇点的最早发生时间(该AOE网的关键路径长度)。由于AOE网中汇点未必是编号最大的顶点,但它必然是从栈中弹出的最后一个顶点,因此(5)空缺处填入“ve[w]”或其等价形式。

  • 第14题:

    ● 已知某带权图G 的邻接表如下所示,其中表结点的结构为:

    则图G 是 (35) 。

    (35)

    A. 无向图

    B. 完全图

    C. 有向图

    D. 强连通图


    正确答案:C

  • 第15题:

    某图G的邻接矩阵如下所示。以下关于该图的叙述中,错误的是( )。

    A.该图存在回路(环)B.该图为完全有向图C.图中所有顶点的入度都大于0D.图中所有顶点的出度都大于0


    正确答案:B

  • 第16题:

    某图 G 的邻接表如下所示。以下关于图 G的叙述中,正确的是 ( ) 。

    A. G 是强连通图 B. G 是有 7 条弧的有向图C. G 是完全图 D. G 是有 7条边的无向图


    正确答案:B

  • 第17题:

    某图的邻接矩阵如下,该图为( );若采用邻接表表示该图,则邻接表中用来表示边(或弧)的表结点总数为(请作答此空)个。

    A.9
    B.18
    C.21
    D.49

    答案:A
    解析:
    图的邻接矩阵是一个方阵,所有行标和列标都与图中的顶点一一对应,这样对于矩阵中的一个元素 [i,j],其值为1 表示 i、j 对应的顶点间有边(或弧),其值为 0则表示 i、j对应的顶点间不存在边(或弧)。显然,图中总共有9条边。在无向图中,边 (i,j)与(j,i)是指同一条边,其取值是相同的;在有向图中, 是两条不同的弧。而在本题中,矩阵中的(i,j)与(j,i)是不同的,因此这个是有向图。

  • 第18题:

    某有向图G的邻接表如下图所示,可看出该图中存在弧,而不存在从顶点Vi出发的弧。关于图G的叙述中,错误的是()。

    A.G中存在回路
    B.G中每个顶点的入度都为1
    C.G的邻接矩阵是对称的
    D.G中不存在弧瓜

    答案:C
    解析:
    根据题干邻接表得到的图如下:

  • 第19题:

    下面关于图的存储的叙述中,正确的是()。

    A.用邻接矩阵法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关
    B.用邻接矩阵法存储图,占用的存储空间数只与图中边数有关,而与结点个数无关
    C.用邻接表法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关
    D.用邻接表法存储图,占用的存储空间数只与图中边数有关,而与结点个数无关

    答案:A
    解析:
    对于n个节点的图来说,用邻接矩阵法存储图,需要n×n个存储单元,只与图中结点个数有关,与边数无关;用邻接表法存储图,与图的结点个数和边数都有关。

  • 第20题:

    对于如下所示的有向图,其邻接矩阵是一个(请作答此空)的矩阵,采用邻接链表存储时顶点的表结点个数为2,顶点5的表结点个数为0,顶点2和3的表结点个数分别为( )

    A.5*5
    B.5*7
    C.7*5
    D.7*7

    答案:A
    解析:
    有向图的邻接矩阵如下。可以看出有4个结点的邻接矩阵是一个4*4 的矩阵。

    同理,题干是5个结点的有向图若采用邻接矩阵存储是一个5*5 的矩阵

  • 第21题:

    设无向图G有n个顶点m条边,则其邻接表中表结点数是()

    • A、n
    • B、2n
    • C、m
    • D、2m

    正确答案:D

  • 第22题:

    在图G的邻接表表示中,每个顶点邻接表中所含的结点数,对于无向图来说等于该顶点的(),对于有向图来说等于该顶点的()


    正确答案:度数;出度数

  • 第23题:

    填空题
    在有向图的邻接表和逆邻接表表示中,每个顶点邻接表分别链接着该顶点的所有()和()结点。

    正确答案: 出边,入边
    解析: 暂无解析