数据机构_练习 第6章 图

2023-05-16

1.选择题

1)在一个图中,所有顶点的度数之和等于图的边数的(   )倍。

  A1/2            B1             C2             D4 

答案:C

2)在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的(   )倍。

  A1/2            B1             C2             D4 

答案:B

解释:有向图所有顶点入度之和等于所有顶点出度之和。

3)具有n个顶点的有向图最多有(   )条边。  

An              Bn(n-1)         Cn(n+1)        Dn2 

答案:B

解释:有向图的边有方向之分,即为从n个顶点中选取2个顶点有序排列,结果为n(n-1)

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

An              B2(n-1)         Cn/2           Dn2 

答案:B

5G是一个非连通无向图,共有28条边,则该图至少有   个顶点。

A7              B8             C9             D10 

答案:C

解释:8个顶点的无向图最多有8*7/2=28条边,再添加一个点即构成非连通无向图,故至少有9个顶点。

6若从无向图的任意一个顶点出发进行一次深度优先搜索可以访问图中所有的顶点,则该图一定是   图。

A非连通         B连通          C强连通        D有向

答案:B

解释:即从该无向图任意一个顶点出发有到各个顶点的路径,所以该无向图是连通图。

7)下面( )算法适合构造一个稠密图G的最小生成树。

A Prim算法      BKruskal算法   CFloyd算法     DDijkstra算法

答案:A

解释:Prim算法适合构造一个稠密图G的最小生成树,Kruskal算法适合构造一个稀疏图G的最小生成树。

8)用邻接表表示图进行广度优先遍历时,通常借助(   )来实现算法。

A.栈            B. 队列            C.              D.图

答案:B

解释:广度优先遍历通常借助队列来实现算法,深度优先遍历通常借助栈来实现算法。

9)用邻接表表示图进行深度优先遍历时,通常借助(   )来实现算法。

A.栈            B. 队列            C.              D.图

答案:A

解释:广度优先遍历通常借助队列来实现算法,深度优先遍历通常借助栈来实现算法。

10)深度优先遍历类似于二叉树的(   )。

A.先序遍历      B.中序遍历        C.后序遍历      D.层次遍历

答案:A

11)广度优先遍历类似于二叉树的(   )。

A.先序遍历      B.中序遍历        C.后序遍历       D.层次遍历

答案:D

12图的BFS生成树的树高比DFS生成树的树高   )。

A.小            B相等            C小或相等       D大或相等

答案:C

解释:对于一些特殊的图,比如只有一个顶点的图,其BFS生成树的树高和DFS生成树的树高相等。一般的图,根据图的BFS生成树和DFS树的算法思想,BFS生成树的树高比DFS生成树的树高小。

13)已知图的邻接矩阵如图6.30所示,则从顶点v0出发按深度优先遍历的结果是(    )。 

                            图6.30  邻接矩阵

14)已知图的邻接表如图6.31所示,则从顶点v0出发按广度优先遍历的结果是(    ),按深度优先遍历的结果是(    )。

 

图6.31  邻接表

A.0 1 3 2 B.0 2 3 1 C.0 3 2 1 D0 1 2 3

答案:DD

15下面   方法可以判断出一个有向图是否有环。

A深度优先遍历      B拓扑排序      C求最短路径     D求关键路径

答案:B

2.应用

1)已知图6.32所示的有向图,请给出:

 每个顶点的入度和出度;    

 邻接矩阵;

 邻接表;

 逆邻接表。             

            

                    图6.32  有向图                          图6.33  无向网

答案:

 

2)已知如图6.33所示的无向网,请给出:

 邻接矩阵;    

 邻接表;

 最小生成树

答案:

 

 

            

 

                                    

 

a

b

4

c

3

 

 

 

 

 

 

 

 

 

 

 

 

b

a

4

c

5

d

5

e

9

 

 

 

 

 

 

c

a

3

b

5

d

5

h

5

 

 

 

 

 

 

d

b

5

c

5

e

7

f

6

g

5

h

4

e

b

9

d

7

f

3

 

 

 

 

 

 

 

 

 

f

d

6

e

3

g

2

 

 

 

 

 

 

 

 

 

g

d

5

f

2

h

6

 

 

 

 

 

 

 

 

 

 

3已知图的邻接矩阵如图6.34所示。试分别画出自顶点1出发进行遍历所得的深度优先生成树和广度优先生成树

 

 

 

 

 

 

4有向网如图6.35所示,试用迪杰斯特拉算法求出从顶点a到其他各顶点间的最短路径,完成表6.9

             

                       图6.34  邻接矩阵                               图6.35  有向网

6.9

D

终点

i=1

i=2

i=3

i=4

i=5

i=6

b

15

(a,b)

15

(a,b)

15

(a,b)

15

(a,b)

15

(a,b)

15

(a,b)

c

2

(a,c)

 

 

 

 

 

d

12

(a,d)

12

(a,d)

11

(a,c,f,d)

11

(a,c,f,d)

 

 

e

 

10

(a,c,e)

10

(a,c,e)

 

 

 

f

 

6

(a,c,f)

 

 

 

 

g

 

 

16

(a,c,f,g)

16

(a,c,f,g)

14

(a,c,f,d,g)

 

S

终点集

{a,c}

{a,c,f}

{a,c,f,e}

{a,c,f,e,d}

{a,c,f,e,d,g}

{a,c,f,e,d,g,b}

    

5试对图6.36所示的AOE-网:

 这个工程最早可能在什么时间结束    

 求每个活动的最早开始时间和最迟开始时间

 确定哪些活动是关键活动

 

 

 

答案:按拓扑有序的顺序计算各个顶点的最早可能开始时间Ve和最迟允许开始时间Vl。然后再计算各个活动的最早可能开始时间e和最迟允许开始时间l,根据l - e = 0? 来确定关键活动,从而确定关键路径。

 

 

1  

2 ¸

3 ·

 4 ¹

5 º

6 »

Ve

0

19

15

29

38

43

Vl

0

19

15

37

38

43

 

 

<1, 2>

<1, 3>

<3, 2>

<2, 4>

<2, 5>

<3, 5>

<4, 6>

<5, 6>

e

0

0

15

19

19

15

29

38

l

17

0

15

27

19

27

37

38

-e

17

0

0

8

0

12

8

0

此工程最早完成时间为43。关键路径为<1, 3><3, 2><2, 5><5, 6>

      

3.算法设计

1)分别以邻接矩阵和邻接表作为存储结构,实现以下图的基本操作:

 增加一个新顶点vInsertVex(G, v)

 删除顶点v及其相关的边,DeleteVex(G, v);

 增加一条边<vw>InsertArc(G, v, w);

 删除一条边<vw>DeleteArc(G, v, w)

[算法描述]

假设G为有向无权图,以邻接矩阵作为存储结构四个算法分别如下:

 增加一个新顶点v

Status Insert_Vex(MGraph &G, char v)//在邻接矩阵表示的图G上插入顶点v

{

if(G.vexnum+1)>MAX_VERTEX_NUM return INFEASIBLE;

G.vexs[++G.vexnum]=v;

return OK;

}//Insert_Vex

 

 删除顶点v及其相关的边,

Status Delete_Vex(MGraph &G,char v)//在邻接矩阵表示的图G上删除顶点v

{

n=G.vexnum;

if((m=LocateVex(G,v))<0) return ERROR;

G.vexs[m]<->G.vexs[n]; //将待删除顶点交换到最后一个顶点

for(i=0;i<n;i++)

{

G.arcs[m]=G.arcs[n];

G.arcs[m]=G.arcs[n]; //将边的关系随之交换

}

G.arcs[m][m].adj=0;

G.vexnum--;

return OK;

}//Delete_Vex

分析:如果不把待删除顶点交换到最后一个顶点的话,算法将会比较复杂,而伴随着大量元素的移动,时间复杂度也会大大增加

 

 增加一条边<vw>

Status Insert_Arc(MGraph &G,char v,char w)//在邻接矩阵表示的图G上插入边(v,w)

{

if((i=LocateVex(G,v))<0) return ERROR;

if((j=LocateVex(G,w))<0) return ERROR;

if(i==j) return ERROR;

if(!G.arcs[j].adj)

{

G.arcs[j].adj=1;

G.arcnum++;

}

return OK;

}//Insert_Arc

 

 删除一条边<vw>

Status Delete_Arc(MGraph &G,char v,char w)//在邻接矩阵表示的图G上删除边(v,w)

{

if((i=LocateVex(G,v))<0) return ERROR;

if((j=LocateVex(G,w))<0) return ERROR;

if(G.arcs[j].adj)

{

G.arcs[j].adj=0;

G.arcnum--;

}

return OK;

}//Delete_Arc

 

以邻接表作为存储结构,本题只给出Insert_Arc算法.其余算法类似。

Status Insert_Arc(ALGraph &G,char v,char w)//在邻接表表示的图G上插入边(v,w)

{

if((i=LocateVex(G,v))<0) return ERROR;

if((j=LocateVex(G,w))<0) return ERROR;

p=new ArcNode;

p->adjvex=j;p->nextarc=NULL;

if(!G.vertices.firstarc) G.vertices.firstarc=p;

else

{

for(q=G.vertices.firstarc;q->q->nextarc;q=q->nextarc)

if(q->adjvex==j) return ERROR; //边已经存在

q->nextarc=p;

}

G.arcnum++;

return OK;

}//Insert_Arc

 

2一个连通图采用邻接表作为存储结构,设计一个算法,实现从顶点v出发的深度优先遍历的非递归过程。

[算法描述]

Void DFSn(Graph G,int v)

{  //从第v个顶点出发非递归实现深度优先遍历图G

Stack s;

SetEmpty(s);

Push(s,v);

While(!StackEmpty(s))

{ //栈空时第v个顶点所在的连通分量已遍历完

Pop(s,k);

If(!visited[k])

{ visited[k]=TRUE;

VisitFunc(k);          //访问第k个顶点

//将第k个顶点的所有邻接点进栈

for(w=FirstAdjVex(G,k);w;w=NextAdjVex(G,k,w))

{

if(!visited[w]&&w!=GetTop(s)) Push(s,w);    //图中有环时w==GetTop(s)

}

}

}

3设计一个算法,求图G中距离顶点v的最短路径长度最大的一个顶点,设v可达其余各个顶点。

[题目分析]

利用Dijkstra算法求v0到其它所有顶点的最短路径,分别保存在数组D[i]中,然后求出D[i]中值最大的数组下标m即可。

[算法描述]

int ShortestPath_MAX(AMGraph G, int v0){

    //Dijkstra算法求距离顶点v0的最短路径长度最大的一个顶点m

    n=G.vexnum;                     //nG中顶点的个数

    for(v = 0; v<n; ++v){              //n个顶点依次初始化 

       S[v] = false;                   //S初始为空集

       D[v] = G.arcs[v0][v];            //v0到各个终点的最短路径长度初始化

       if(D[v]< MaxInt)  Path [v]=v0;  //如果v0v之间有弧,则将v的前驱置为v0 

       else Path [v]=-1;               //如果v0v之间无弧,则将v的前驱置为-1 

      }//for 

      S[v0]=true;                     //v0加入S 

      D[v0]=0;                       //源点到源点的距离为0 

      /*开始主循环,每次求得v0到某个顶点v的最短路径,将v加到S*/

      for(i=1;i<n; ++i){                //对其余n1个顶点,依次进行计算 

        min= MaxInt; 

        for(w=0;w<n; ++w) 

          if(!S[w]&&D[w]<min)  

              {v=w; min=D[w];}          //选择一条当前的最短路径,终点为v 

        S[v]=true;                    //v加入S 

        for(w=0;w<n; ++w)       //更新从v0VS上所有顶点的最短路径长度

        if(!S[w]&&(D[v]+G.arcs[v][w]<D[w])){ 

             D[w]=D[v]+G.arcs[v][w];    //更新D[w] 

             Path [w]=v;               //更改w的前驱为v 

        }//if 

    }//for

/*最短路径求解完毕,设距离顶点v0的最短路径长度最大的一个顶点为m */       

Max=D[0];

m=0;

for(i=1;i<n;i++)

if(Max<D[i]) m=i;

return m;

}

4试基于图的深度优先搜索策略写一算法,判别以邻接表方式存储的有向图中是否存在由顶点vi到顶点vj的路径(ij)。

[题目分析]

引入一变量level来控制递归进行的层数

[算法描述]

int visited[MAXSIZE]; //指示顶点是否在当前路径上

int level1;//递归进行的层数

int exist_path_DFS(ALGraph G,int i,int j)//深度优先判断有向图G中顶点i到顶点j

是否有路径,是则返回1,否则返回0

{

  if(i==j) return 1; //i就是j

  else

  {

    visited[i]=1;

    for(p=G.vertices[i].firstarc;p;p=p->nextarclevel--)

    { level++;

      k=p->adjvex;

      if(!visited[k]&&exist_path(k,j)) return 1;//i下游的顶点到j有路径

}//for

  }//else

if (level==1)  return 0;

}//exist_path_DFS

5采用邻接表存储结构,编写一个算法,判别无向图中任意给定的两个顶点之间是否存在一条长度为为k的简单路径。

[算法描述]

int visited[MAXSIZE];

int exist_path_len(ALGraph G,int i,int j,int k)

//判断邻接表方式存储的有向图G的顶点ij是否存在长度为k的简单路径

{if(i==j&&k==0) return 1; //找到了一条路径,且长度符合要求

 else if(k>0)

  {visited[i]=1;

   for(p=G.vertices[i].firstarc;p;p=p->nextarc)

    {l=p->adjvex;

     if(!visited[l])

        if(exist_path_len(G,l,j,k-1)) return 1; //剩余路径长度减一

    }//for

   visited[i]=0; //本题允许曾经被访问过的结点出现在另一条路径中

  }//else

 return 0; //没找到

}//exist_path_len

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据机构_练习 第6章 图 的相关文章

  • composite-id class must implement Serializable

    org hibernate MappingException composite id class must implement Serializable com xxx pojo Organization 这一段中 xff0c 最重要的错
  • navicat如何修改字体大小颜色

    友情链接 xff1a http xiqingchun com forum php navicat作为很多数据库的可视化管理界面确实是比较好用的 xff0c 有时候我们需要修改navicat的显示界面的字体大小样式颜色等等 xff0c 这时候
  • python3调用7-zip解密解压压缩包(hmac加密)

    文章目录 一 调用7z exe二 获取压缩包路径及其名字三 按照hmac加密方式进行解密四 设置将解压出的文件放入的目录五 最后将各变量整合到一起 xff0c 组成解压缩命令 xff0c 传到popen xff08 xff09 函数内六 完
  • Ubuntu相对路径和绝对路径

    ubuntu绝对路径 xff1a 例如在目录 home lzj temp下有一个文件filename txt那么filename txt文件的绝对路径就是 home lzj temp ubuntu相对路径 xff1a 如果你当前路径是在 h
  • ubuntu把终端信息输出到文本文件中的方法

    ubuntu把终端信息输出到文本文件中的方法 方法一 xff1a 把终端中所有信息都写到文本文件中 在终端的命令行中输入以下命令 xff1a script f output txt 这样就会在当前目录下创建一个output txt文件 接下
  • ubuntu配置有线网络笔记

    ubuntu配置有线网络笔记 1 用命令ifconfig查看网络信息 eth0 xff0c eth1 xff0c eth2 代表网卡一 xff0c 网卡二 xff0c 网卡三 lo代表127 0 0 1 xff0c 即localhost 2
  • syntax error: unexpected end of file解决方法

    syntax error unexpected end of file解决方法 在windows环境下编辑的脚本通过Xftp上传到linux系统执行的时候会提示syntax error unexpected end of file xff0
  • excel2010取消保护忘记密码宏的方式-针对公务员职位表保护

    excel2010 视图 宏 新建 取消新建 编辑 替换以下内容 Option Explicit Public Sub AllInternalPasswords 39 Breaks worksheet and workbook struct
  • CS5汉化步骤

    CS5汉化步骤 第一步 xff1a 关闭PS xff0c 下载汉化补丁 xff08 zh CN xff09 xff0c 将汉化补丁复制到安装目录下的 Locales 文件夹中 xff0c 通常为 C Program Files Adobe
  • 用eclipse建一个web页面(图文)

    步骤1 xff1a 创建Dynamic Web Project 动态web项目 打开eclipse xff0c 在工具栏选在New gt Dynamic Web Project 在打开的Dynamic Web Project窗口 xff0c
  • pip下载源的两种修改方法

    很多入行网工不久的萌新 xff0c 在使用python进行NetDevOps的过程中 xff0c 需要经常使用python的包管理器pypi下载第三方库 比如paramiko netmiko netaddr等等 但是 xff0c 默认源的下
  • 2、树莓派3 Model B ——— 使用GIT工具安装wiringPi

    1 WiringPi简介 WiringPi是应用于树莓派平台的GPIO控制库函数 xff0c WiringPi遵守GUN Lv3 wiringPi使用C或者C 43 43 开发并且可以被其他语言包转 xff0c 例如python ruby或
  • C语言之文件操作05——矩阵(数据)的读取方法

    数据读取 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 6
  • String和Stringbuff和Stringbuilder区别

    string类型属于引用类型 xff0c 不属于八个基本变量 每次指定一个String a 61 34 a 34 时 xff0c jvm会在内存中新建一个对象 xff0c 当你再给a赋值的时候 xff0c jvm并没有改变a引用的值 xff
  • docker build 后面为什么要跟个 .

    我们在构建镜像文件时无非是使用 xff1a docker build t test ubuntu v1 或者 docker build f docker test Dockerfile 来进行构建镜像 xff0c 用第一个命令时任务 指代的
  • 洛谷P4180 严格次小生成树

    题目描述 小 C 最近学了很多最小生成树的算法 xff0c Prim 算法 Kruskal 算法 消圈算法等等 正当小 C 洋洋得意之时 xff0c 小 P 又来泼小 C 冷水了 小 P 说 xff0c 让小 C 求出一个无向图的次小生成树
  • 【搜索与回溯算法】马的走法

    题目 xff1a 在5X5的棋盘上 xff0c 给定一位置 xff0c 输出马回到原点有多少种不同的方案 注意 xff1a 马走的每一步必须在棋盘上 xff0c 走斜日 xff0c 如下图 xff1a 输入 xff1a 给定一位置 xff0
  • 如何使用mysql api关闭ssl模式提高查询效率

    昨天测试部同事用大呼测试我们的业务系统 xff0c 数据库用的是MySQL 单呼的时候数据库查询正常 xff0c 但是呼叫量一大就出现了数据库查询延迟的情况 经过分析发现是由于MySQL Server的数据库端开启了SSL xff0c 每次
  • iOS开发之多线程--多线程简单介绍

    一 进程和线程 1 什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的 xff0c 每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ Xcode xff0c 系统就会分别启动2 个进程 通过 活动监视器 可
  • UIImageView的基本用法

    UIViewContentModeScaleTo Fill UIViewContentModeScaleAs pectFit contents scaled to fit with fixed aspect remainder is tra

随机推荐

  • compton透明设置

    compton是一个使你窗口透明化的工具 xff0c 如果你当前使用的软件支持窗口透明的功能 xff0c 那么compton可以帮你设置透明度 xff0c 阴影效果 xff0c 窗口切换效果等 对于我来说就用一个透明度设置的功能就可以了 想
  • ubuntu系统配置i3wm窗口管理器

    我的简书 xff1a https www jianshu com p 81917864271e ubuntu系统配置i3wm窗口管理器 文章目录 ubuntu系统配置i3wm窗口管理器前言i3wm的安装i3wm的配置i3wm快捷键配置介绍i
  • windows 10卸载(注销)WSL,注销(卸载)当前安装的Linux的Windows子系统

    虽然 Linux 发行版可以通过 Microsoft Store 安装 xff0c 但不能通过 Microsoft Store 卸载 不想玩了 xff0c 或者玩腻了就考虑去卸载 xff0c 给电脑节省点空间 1 查看当前环境安装的wsl
  • 获取Chrome浏览器的Cookie

    1 通过查看http请求里header信息 xff0c 查看cookie 2 通过查看浏览器 Chrome 的cookie文件 2 1 进入浏览器设置 2 2 点击隐私设置 gt 内容设置 3 通过查看本地cookies文件 osx上 xf
  • PLSQL 登录时弹出(没有登录)空白提示框

    在登录的时候莫名出现了plsql登录时弹出 没有登录 的空白提示框 在网上找了很多方法之后都不行 然后发现plsql的 oracle主目录名莫名的成了空 然后直接重新把它的目录设置上 重启plsql 就能成功登录了 进入PLSQL gt 工
  • STM32之按键点亮LED灯(中断法)

    目录 1 操作思路 2 用CubeMX工具生成的代码 main的主函数 3 GPIO代码 gpio c 4 编写中断服务函数 5 用外部中断共用入口函数 xff0c 来调用外部中断处理回调函数 6 编写外部中断处理回调函数 xff08 在这
  • 进程间通信之——信号量(一)(system V)

    system v信号量又被称为system v信号量集 它的本质就是一个计数器 xff0c 用来为多个进程共享的数据结构提供受控访问 信号量支持的操作有 xff1a 使用最广泛的信号量为二元信号量 xff0c 它控制单个资源 xff0c 对
  • wsl 删除Linux子系统

    步骤 xff1a PS C Users twomiao gt wslconfig l 适用于 Linux 的 Windows 子系统 Ubuntu 20 04 默认 PS C Users twomiao gt wslconfig u Ubu
  • Python常用语句

    1 print和import语句 print xff1a 打印表达式 xff0c 多个表达式之间可以通过逗号 xff08 英文 xff09 进行分隔 gt gt gt print 39 Hello 39 39 World 39 Hello
  • video-to-ascii:在命令行中看视频

    最近GitHub上有个很好玩的项目 xff0c 叫做video to ascii 这是一个简单的python包 xff0c 可以使用字符作为像素在终端中播放视频 安装 xff1a code pip3 install video to asc
  • python3小白实现pipinstall打包全过程(详细)

    本博文源于python基础 xff0c 在实现将py打包成exe全过程中 xff0c 首先要感谢我的朋友圈列表的大佬 然后我们开始叙述打包的过程 共分为以下几步 确定好打包的文件安装pyinstaller在cmd里输入命令完成过程 xff0
  • django-debug-toolbar 的安装及安装中可能遇到的问题

    简介 django debug toolbar 是一个非常方便的工具 xff0c 可以深入了解代码的工作以及它花费的时间 xff0c 特别是它可以显示你的页面生成的所有SQL查询 xff0c 以及每个sql所需要的时间 django deb
  • VS2017动态链接库(.dll)的生成与使用

    这里以VS2017为例子 xff0c 讲解一下动态链接库 xff08 dll xff09 的生成与使用 一 动态链接库 xff08 dll xff09 的生成 1 打开 xff1a 文件 新建 项目 2 打开 xff1a 已安装 模板 Vi
  • 17年软件设计师知识点分析+思维导图

    原文连接 xff1a 最新 17年 软件设计师知识点分析 xff08 思维导图 xff09 历年试题分析 分析完下方有17面软考脑图 xff1a 分析下方的脑图才本文经典部分 xff01 xff01 xff01 历年下午试题分析 xff1a
  • 百练_2680:化验诊断

    描述 下表是进行血常规检验的正常值参考范围 xff0c 及化验值异常的临床意义 xff1a 给定一张化验单 xff0c 判断其所有指标是否正常 xff0c 如果不正常 xff0c 统计有几项不正常 化验单上的值必须严格落在正常参考值范围内
  • encodeURIComponent()的使用

    在使用springMVC的过程中 若想让前台传递的字符串让后台用Date类型自动解析可以通过initBinder函数来实现 之前我用表单提交方式向后台传递时间格式的数据 2013 03 06 22 00 00 可以正确解析 但用自己手动拼接
  • 百练_2718:晶晶赴约会

    描述 晶晶的朋友贝贝约晶晶下周一起去看展览 xff0c 但晶晶每周的1 3 5有课必须上课 xff0c 请帮晶晶判断她能否接受贝贝的邀请 xff0c 如果能输出YES xff1b 如果不能则输出NO 输入 输入有一行 xff0c 贝贝邀请晶
  • 百练_2723:不吉利日期

    描述 在国外 xff0c 每月的13号和每周的星期5都是不吉利的 特别是当13号那天恰好是星期5时 xff0c 更不吉利 已知某年的一月一日是星期w xff0c 并且这一年一定不是闰年 xff0c 求出这一年所有13号那天是星期5的月份 x
  • 数据结构_练习 第4章 串、数组和广义表

    1 xff0e 选择题 xff08 1 xff09 串是一种特殊的线性表 xff0c 其特殊性体现在 xff08 xff09 A xff0e 可以顺序存储 B xff0e 数据元素是一个字符 C xff0e 可以链式存储 D xff0e 数
  • 数据机构_练习 第6章 图

    1 xff0e 选择题 xff08 1 xff09 在一个图中 xff0c 所有顶点的度数之和等于图的边数的 xff08 xff09 倍 A xff0e 1 2 B xff0e 1 C xff0e 2 D xff0e 4 答案 xff1a