- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
习 题 7
1)选择题
(1)图中有关路径的定义是(A)。
A.B.C.D.n,则该图最多有(B)条边。
A.n-1.n(n1)/2 C.n(n+1)/2.n2n个顶点的连通无向图,其边的个数至少为(A)。
A.n1 B.nC.n1 D.nlog2nn个顶点的有向图,至少需要(B)条边
A.n1 B.nC.n1 D.2nn个结点的完全有向图含有边的数目为()A.n2B.n(n1) C.nD.n(n1)
(6)一个有n个结点的图,最少有(B)个连通分量,最多有(D)个连通分量。
A.0 B.1 C.n1 D.nA.1/2B.2C.1D.4下面结构中最适于表示稀疏无向图的是,适于表示稀疏有向图的是A.B.C.D.E.邻接表下列哪图的邻接矩阵是对称矩阵A.B.C.D.A.B.C.D.7-26所示。
图7-26 某图的邻接表
①从顶点v1进行深度优先遍历,遍历过程中要经过的顺序是(A)。
A.v1 v2 v3B.v1 v v4 C.v1 v v4 D.v1 v v5
②从顶点v1进行广度优先遍历,遍历过程中要经过的顺序是(D)。
A.v1 v2 v3B.v1 v v4 C.v1 v v4 D.v1 v v5
(12)一个加权无向连通图的最小生成树(A)。
A.B.C.D.在n个结点的无向图中,若边数大于n1,则该图必是连通图×)
(2)有e条边的无向图,在邻接表中有e个结点×)
(3)有向图中顶点的度等于其邻接矩阵中第v行中1的个数×)
(4)强连通图的各顶点间均可达√)
(5)邻接多重表是无向图和有向图的链式存储结构×)
(6)用邻接矩阵法存储一个图所需的存储单元数目与图的边数有关×)
(7)有n个顶点的无向图采用邻接矩阵表示图中的边数等于邻接矩阵中非零元素之和的一半√)
(8)求最小生成树的普里姆Prim)算法中边上的权可正可负×)
3)填空题
(1)判断一个无向图是一棵树的条件是有n个顶点,n-1条边的无向连通图。一个连通图的生成树是一个极小连通子图。具有10个顶点的无向图,边的总数最多为G是一个非连通无向图,共有28条边,则该图至少有个顶点在有n个顶点的有向图中,若要使任意两点间可以互相到达,则至少需要条弧。如果含n个顶点的图形形成一个环,则它有棵生成树。7-26的邻接表分别写出从v6出发进行广度优先和深度优先遍历序列。证明:具有n个顶点和多于n1条边的无向连通图G一定不是树证明:具有n个顶点n-1条边的无向连通图是自由树,即没有确定根结点的树,每个结点均可当根。若边数多于n-1条,因一条边要连接两个结点,则必因加上这一条边而使两个结点多了一条通路,即形成回路。形成回路的连通图不再是树(在图论中树定义为无回路的连通图)。7-27所示的无向网的最小生成树。
图7-27 某无向网
(略)
(4)按照Prim算法,写出从顶点v2开始构造图7-26的最小生成树的过程。
(略)
(5)按照Sollin算法,写出构造图7-26的最小生成树的过程。
(略)
(6)按照Dijkstra算法,写出求图7-26的顶点v0到其他各个结点的最短路径过程中数组dist和pre各分量的变化情况表。以作存储结构,图的算法void CreatGraph (AdjList g) //建立有n个顶点和m 条边的无向图的邻接表存储结构
{
int n,m;
scanf(%d%d,n,m);
for (i =1,i=n;i++)//输入顶点信息,建立顶点向量
{scanf(g[i].vertex); g[i].firstarc=null;}
for (k=1;k=m;k++)//输入边信息
{
scanf(v1,v2);//输入两个顶点
i=GraphLocateVertex (g,v1);
j=GraphLocateVertex (g,v2); //顶点定位
p=(ArcNode *)malloc(sizeof(ArcNode));//申请边结点
p-adjvex=j; p-next=g[i].firstarc; g[i].firstarc=p;//将边结点链入
p=(ArcNode *)malloc(sizeof(ArcNode));
p-adjvex=i;
p-next=g[j].firstarc;
g[j].frstarc=p;
}
}//算法CreatGraph结束
(2)设有向G图有n个点e条边一算法根据其邻接表生成其反向邻接表要求算法复杂为 {gin[i].vertex=gout[i].vertex; gin.firstarc=n
文档评论(0)