题目详情
当前位置:首页 > 计算机考试 > 中级软件设计师
题目详情:
发布时间:2023-10-14 02:57:42

[简答题]【说明】[程序6说明]单源最短路径的分支限界算法。 const int MAXNUM=29999; #include<iostream> #include<vector> #include<algorithm> #include<functional> using namespace std; template <class VertexType,class EdgeType> class MinNode { //程序中使用的最小化堆的结点说明 friend class Graph<VertexType,EdgeType> public: MinNode (int nl, EdgeType length1) { VexNum=nl; length=length1; } bool operator>(const MinNode<VertexType,EdgeType>&p)const { return (1) >p.length; } private: int VexNum; //记录源点序号,序号数组p及distance下标相一致。源点为初始扩展顶点 EdgeType length; //记录源点到本顶点的当前最短路径的长度,源点到自身的长度为0 } template<class VertexType,classEdgeType> void Graph<VertexType,EdgeType>:: shortestpath(VertexType start) { int j,k,source;//source 记录源点的序号。 EdgeType*distance= (2) ; int*p=new int[MaxNumVertex]; vector<MinNode<VertexType,EdgeType> >H; for(source=0;source<MaxNumVertex;source++) { if(NodeList[source]==start)break;} if (source>=MaxNumVertex){cout<<”This is error!”<<end1;retu

更多"【说明】[程序6说明]单源最短路径的分支限界算法。 const in"的相关试题:

[多项选择]【说明】[程序6说明]单源最短路径的分支限界算法。
const int MAXNUM=29999;
#include<iostream>
#include<vector>
#include<algorithm>
#include<functional>
using namespace std;
template <class VertexType,class EdgeType>
class MinNode //程序中使用的最小化堆的结点说明
friend class Graph<VertexType,EdgeType>
public:
MinNode (int nl, EdgeType length1)
VexNum=nl;
length=length1;bool operator>(const MinNode<VertexType,EdgeType>&p)const
return (1) >p.length;private:
int VexNum;
//记录源点序号,序号数组p及distance下标相一致。源点为初始扩展顶点
EdgeType length;
//记录源点到本顶点的当前最短路径的长度,源点到自身的长度为0template<class VertexType,classEdgeType>
void Graph<VertexType,EdgeType>:: shortestpath(VertexType start)
int j,k,source;//source 记录源点的序号。
EdgeType*distance= (2)
int*p=new int[MaxNumVertex];
vector<MinNode<VertexType,EdgeType> >H;
for(source=0;source<MaxNumVertex;source++)
if(NodeList[source]==start)break;
if (source>=MaxNu
[单项选择]迪杰斯特拉(Dijkstra)算法用于求解图上的单源点最短路径。该算法按路径长度递增次序产生最短路径,本质上说,该算法是一种基干()策略的算法。
A. 分治
B. 动态规划
C. 贪心
D. 回溯
[单项选择] (89) 是用于进行网络的最短路径及最短传输延迟测试的路由策略。
A. 固定路由选择 B) 独立路由选择
B. 随机路由选择
C. 泛射路由选择
[单项选择]

求最短路径的FLOYD算法的时间复杂度为()


A. O(n)
B. O(n+e)
C. O(n2
D. O(n3
[单项选择]迪杰斯特拉(Dijkstra)算法按照路径长度递增的方式求解单源点最短路径问题,该算法运用了()算法策略。
A. 贪心
B. 分而治之
C. 动态规划
D. 试探+回溯
[单项选择]开放最短路径优先协议(OSPF)采用 (22) 算法计算最佳路由。
A. Dynamic-Search
B. Bellman-Ford
C. Dijkstra
D. Spanning-Tree
[单项选择]下列选项中,关于最短路径优先协议的描述不正确的是( )。
A. 主要的特征是使用分布式链路状态协议
B. OSPF协议要求路由器发送的信息是有关本路由器与哪些路由器相邻,以及链路状态的度量
C. 是一种分布式、基于距离向量的路由选择协议,其特点是协议简单
D. OSPF协议要求当链路状态发生变化时用洪泛法向所有路由器发送此信息
[简答题]带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。假定从初始顶点到目标顶点之间存在路径,现有一种解决该问题的方法:
①设最短路径初始时仅包含初始顶点,令当前顶点u为初始顶点;
②选择离u最近且尚未在最短路径中的一个顶点v,加入到最短路径中,修改当前顶点u=v:
③重复步骤②,直到u是目标顶点时为止。
请问上述方法能否求得最短路径若该方法可行,请证明之;否则,请举例说明。
[单项选择]利用动态规划方法求解每对节点之间的最短路径问题(all pairs shortest path problem)时,设有向图 G=<V,E>共有n个节点,节点编号1~n,设C是G的成本邻接矩阵,用Dk(I,j)即为图G中节点i到j并且不经过编号比k还大的节点的最短路径的长度(Dn(i,j)即为图G中节点i到j的最短路径长度),则求解该问题的递推关系式为()。
A. Dk(I,j)=Dk-1(I,j)+C(I,j)
B. Dk(I,j)=Dk-1(I,k)+Dk-1(k,j)
C. Dk(I,j)=minDk-1(I,j),Dk-1(I,j)+C(I,j)
D. Dk(I,j)=minDk-1(I,j),Dk-1(I,K)+Dk-1(k,j)
[单项选择]开放最短路径优先协议(OSPF)采用______算法计算最佳路由。
A. Dynamic-Search
B. Bellman-Ford
C. Dijkstra
D. Spanning-Tree
[判断题]铁路货运运费是按计费里程计费的,而公路货运运费是按照发站至到站最短路径计算的。
[简答题][C++代码] #include <iostream> const OBS_MAXNUM=20;//最多与OfficeDoc对象相关联的DocExplorer对象的个数 (1) ; class DocExplorer{ //关注OfficeDoc公文对象的类 public: DocExplorer( (2) *doc); //构造函数 (3) void update(OfficeDoc *doc)=0;//更新自身状态的函数 //其他相关属性和方法省略 }; class OfficeDoc{ //公文类 private: DocExplorer *myObs[OBS_MAXNUM]; //关注此公文类的DocExplorer类对象指针数组 int index; //与OfficeDoc对象关联的DocExplorer对象的个数 public: OfficeDoe( ) index=0; } void attach(DocExplorer *o){ //将一DoeExplorer对象与OfficeDoe对象相关联 if(index >=OBS_MAXNUM ||o=NULL)return; for(int loop=0; loop<index; loop++) if(myObs[loop]==o) return; myObs[index]=o; index++; } void detaeh(DocExplorer *o){ //接触某DoeExplorer对象与OfficeDoc对象的关联 if(0==NULL) return; for(int loop=0; loop<index; loop++){ if(myObs[loop]==o){ if(loop<=index-2)myObs[loop]=myObs[index-1]; myObs[index-1]=NULL;
[简答题]【程序说明】
函数int commstr(char * str1,char * str2,int * sublen)从两已知字符串str1和str2中,找出它们的所有最长的公共子串。如果最长公共子串不止1个,函数将把它们全部找出并输出。约定空串不作为公共子串。
函数将最长公共子串的长度送入由参数sublen所指的变量中,并返回字符串str1和str2的最长公共子串的个数。如果字符串str1和str2没有公共子串,约定最长公共子串的个数和最长公共子串的长度均为0。
【程序】
int strlen(char * s)
char *t=s;
while( * ++);
return t-s-1;

int commstr(char) *str1,char *str2,int *sublen
char*s1, *s2;
int count=0,len1 ,len2,k,j,i,p;
len1:=strlen(str1)
len2 = strlen(str2);
if(len1>len2)
s1=str1 ;s2=str2;
else len2 = len1;s1 = str2;s2 = str1;
for(j=len2;j>0;j--) /*从可能最长子串开始寻找*/
for(k=0; (1) <:len2;k++) /*k为子串s2的开始位置*/
for(i=0;s1[ (2) ]!=’/0’;i++;) /*i为子串s1的开始位置*/
/*s1的子串与s2的子串比较*/
for (p=0;p<j)&& (3) ;p++);
if ( (4) ) /*如果两子串相同*/
for(p=0);p<j;p++ /*输出子串*/
printf ("%c",s2[k+p]);
pri
[单项选择]当网络规模扩大时,适合执行最短路径优先算法的是IGP协议,每个路由器向网络中的其他路由器发布 ( )。当路上信息改变后,路由器按照Dijkstra算法更新路由表。
A. 它的路由信息表
B. 与它相邻的路由器的地址
C. 与它相邻的路由器的端口号
D. 与它连接的所有链路的状态信息
[简答题]用基本路径测试法为下列程序设计测试用例。
void sort (int iRecordNum,int itype)

int x=0;y=0;
while (iRecordNuin>0)

if (itype==0)
x=y+2;break;
else

if(itype==1)
x=y+10;
else
x=y+20;



[简答题]

用基本路径测试法为下列程序设计测试用例。
1 Void sort(int iRecordNum, int itype)
2
3 int x=0; y=0;
4 while(iRecordNtum>0)
5
6 if(itype==0)
7 x=y+2; break; )
8 else
9 if (itype==1)
10 x=y+10;
11 else
12 x=y+20;
13
14
15


我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码