重要提示:请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
首页 > 计算机等级考试
网友您好,请在下方输入框内输入要搜索的题目:
搜题
拍照、语音搜题,请扫码下载APP
扫一扫 下载APP
题目内容 (请给出正确答案)
[主观题]

如下所示是一个带权的图,图中结点A到结点D的关键路径的长度为A.13B.15C.28D.58

如下所示是一个带权的图,图中结点A到结点D的关键路径的长度为

如下所示是一个带权的图,图中结点A到结点D的关键路径的长度为A.13B.15C.28D.58如下所示

A.13

B.15

C.28

D.58

答案
查看答案
更多“如下所示是一个带权的图,图中结点A到结点D的关键路径的长度为A.13B.15C.28D.58”相关的问题

第1题

一个有n个结点的带权无向图,其生成树应有()条边。

A.n

B.n-1

C.nlogn

D.n/2

点击查看答案

第2题

用Dijkstra标号法求图15.7所示的带权图中从顶点a到其余各点的最短路径与距离。

用Dijkstra标号法求图15.7所示的带权图中从顶点a到其余各点的最短路径与距离。请帮忙给出正确

点击查看答案

第3题

设二元树t有t片树叶,v1,v2...vt权分别为w1,w2,...wt层深(根到叶的路

设二元树t有t片树叶,v1,v2...vt权分别为w1,w2,...wt层深(根到叶的路径长)分为设二元树t有t片树叶,v1,v2...vt权分别为w1,w2,...wt层深(根到叶的路设二元树t有设二元树t有t片树叶,v1,v2...vt权分别为w1,w2,...wt层深(根到叶的路设二元树t有为T的权,权最小的二元树称为最优二元树.求最优二元树的夫曼算法如下:

给定实数w1,w2,...,wt且w1≤w2≤,...,wt.

(1)连接权为w1,w2的两片树叶,得-一个分支点,其权为w1+w2.

(2)在w1+w2,...,w3,...,wt中选出两个最小的权,连接它们对应的结点(不一定是树叶),得新支点及所带的权.

(3)重复(2),直到形成t-1个分支点,t片树叶为止.

使用哈夫曼算法求带权2,2,3,3,5的最优二元树.

点击查看答案

第4题

阅读以下预备知识、函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。 【预备

阅读以下预备知识、函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

【预备知识】

①对给定的字符集合及相应的权值,采用哈夫曼算法构造最优二叉树,并用结构数组存储最优二叉树。例如,给定字符集合{a,b,c,d}及其权值2、7、4、5,可构造如图3所示的最优二叉树和相应的结构数组Ht(数组元素Ht[0]不用)(见表5)。

阅读以下预备知识、函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。 【预备阅读以下预备

图3最优二叉树

表5 结构数组Ht

阅读以下预备知识、函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。 【预备阅读以下预备

结构数组Ht的类型定义如下:

define MAXLEAFNUM 20

struct node{

char ch;/*当前结点表示的字符,对于非叶子结点,此域不用*/

int weight;/*当前结点的权值*/

int parent;/*当前结点的父结点的下标,为0时表示无父结点*/

int lchild,rchild;

/*当前结点的左、右孩子结点的下标,为0时表示无对应的孩子结点*/

}Ht[2*MAXLEAFNUM];

②用′0′或′1′标识最优二叉树中分支的规则是:从一个结点进入其左(右)孩子结点,就用′0′(′1′)标识该分支(示例如图3所示)。

③若用上述规则标识最优二叉树的每条分支后,从根结点开始到叶子结点为止,按经过分支的次序,将相应标识依次排列,可得到由′0′、′1′组成的一个序列,称此序列为该叶子结点的前缀编码。例如图3所示的叶子结点a、b、c、d的前缀编码分别是110、0、111、10。

【函数5.1说明】

函数void LeafCode(int root,int n)的功能是:采用非递归方法,遍历最优二叉树的全部叶子结点,为所有的叶子结点构造前缀编码。其中形参root为最优二叉树的根结点下标;形参n为叶子结点个数。

在构造过程中 ,将Ht[p].weight域用作被遍历结点的遍历状态标志。

【函数5.1】

char**Hc;

void LeafCode(int root,int n)

{/*为最优二叉树中的n个叶子结点构造前缀编码,root是树的根结点下标*/

int i,p=root,cdlen=0;char code[20];

Hc=(char**)malloc((n+1)*sizeof(char*));/*申请字符指针数组*/

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

Ht[i].weight=0;/*遍历最优二叉树时用作被遍历结点的状态标志*/

while(p){/*以非递归方法遍历最优二叉树,求树中每个叶子结点的编码*/

if(Ht[p].weight==0){/*向左*/

Ht[p].weight=1;

if (Ht[p].lchild !=0) { p=Ht[p].lchild; code[cdlen++]=′0′;}

else if (Ht[p].rchild==0) {/*若是叶子结 点,则保存其前缀编码*/

Hc[p]=(char*)malloc((cdlen+1)*sizeof(char));

(1) ;strcpy(He[p],code);

}

}

else if (Ht[p].weight==1){/*向右*/

Ht[p].weight=2;

if(Ht[p].rchild !=0){p=Ht[p].rchild;code[cdlen++]=′1′;}

}

else{/*Ht[p].weight==2,回退*/

Ht[p].weight=0;

p= (2) ; (3) ;/*退回父结点*/

}

}/*while结束*/

}

【函数5.2说明】

函数void Decode(char*buff,int root)的功能是:将前缀编码序列翻译成叶子结点的字符序列并输出。其中形参root为最优二叉树的根结点下标;形参buff指向前缀编码序列。

【函数5.2】

void Decode(char*buff,int root)

{ int pre=root,p;

while(*buff!=′\0′){

p=root;

while(p!=0){/*存在下标为p的结点*/

pre=p;

if((4) )p=Ht[p].lchild;/*进入左子树*/

else p=Ht[p].rchild;/*进入右子树*/

buff++;/*指向前缀编码序列的下一个字符*/

(5) ;

printf(″%c″,Ht[pre].ch);

}

}

点击查看答案

第5题

若已建立如下图所示的单向链表结构:在该链表结构中,指针p、s分别指向图中所示结点,则不能将s所指

若已建立如下图所示的单向链表结构:若已建立如下图所示的单向链表结构:在该链表结构中,指针p、s分别指向图中所示结点,则不能将s所指若已在该链表结构中,指针p、s分别指向图中所示结点,则不能将s所指的结点插入到链表末尾仍构成单向链表的语句组是______。

A.p=p->next; s->next=p; p->next=s;

B.p=p->next; s->next=p->next; p->next=s;

C.s->next=NULL; p=p->next; p->next=s;

D.p=(*p).next; (*s).next=(*p).next; (*p).next=s;

点击查看答案

第6题

试证明图的每一个结点和每一条边,都只包含于一个弱分图中。

点击查看答案

第7题

令D是具有结点v1,v2,v3,v4的有向图,它的矩阵表示如下: (1)画出相应的有向图D. (2)求从v1到v1长度为3的

令D是具有结点v1,v2,v3,v4的有向图,它的矩阵表示如下:

令D是具有结点v1,v2,v3,v4的有向图,它的矩阵表示如下:    (1)画出相应的有向图D.

(1)画出相应的有向图D.

(2)求从v1到v1长度为3的回路数以及从v1到v2,v1到v3,v到v4长度是3的通路数.

(3)D是何种连通图?

点击查看答案

第8题

设如图5-6所示的是5个城市的航线图,每个结点表示1个城市,2个结点之间边的权值表示2个城市之间直达航线的票价(单位:元)。若某人打算旅游一个城市各一次,并且返回到出发点,则旅行的最低总票价为______元。设如图5-6所示的是5个城市的航线图,每个结点表示1个城市,2个结点之间边的权值表示2个城市之间直达

A.875

B.1045

C.1285

D.1525

点击查看答案

第9题

图3-22(a)所示为一个三铰拱式屋架。上弦通常用钢筋混凝土或预应力混凝土,拉杆用角钢或圆钢,结点

图3-22(a)所示为一个三铰拱式屋架。上弦通常用钢筋混凝土或预应力混凝土,拉杆用角钢或圆钢,结点不在上弦杆的轴线上而有偏心。图(b)为其计算简图.设l=12m,h=2.2m,e1=0.2mm,e=0,q=1.2kN/m。试求支座反力和内力。

图3-22(a)所示为一个三铰拱式屋架。上弦通常用钢筋混凝土或预应力混凝土,拉杆用角钢或圆钢,结点图

点击查看答案

第10题

阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。[说明] 邻接表是图的一种顺序存储与

阅读下列函数说明和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的下一个邻接点*/

}

}

点击查看答案
下载APP
关注公众号
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案 购买前请仔细阅读《购买须知》
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《服务协议》《购买须知》
立即支付 系统将自动为您注册账号
已付款,但不能查看答案,请点这里登录即可>>>
请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
请用微信扫码测试
优题宝