一般当图G满足什么的满足时候,可以将G视为稀疏图

注:本文文字均摘自官方指定网站和论坛权威且可信,答疑见中间部分非常全,众玩家可放心阅读

同时文末给出了包括自己在内的诸多玩家的解法。

赛题源自“未來网络”业务发放中的路由计算问题算路问题属于基础算法问题,在图论、网络、交通等各个方面均有着广泛的研究与运用里面不乏┅些经典的算法,例如最短路中的广度优先搜索Dijkstra算法等。网络算路问题的更优算法实现对于网络资源高效配置具有重要价值

给定一个帶权重的有向图G=(V,E),V为顶点集E为有向边集,每一条有向边均有一个权重对于给定的顶点s、t,以及V的子集V'寻找从s到t的不成环有向路径P,使得P经过V'中所有的顶点(对经过V'中节点的顺序不做要求)
若不存在这样的有向路径P,则输出无解程序运行时间越短,则视为结果越优;若存在这样的有向路径P则输出所得到的路径,路径的权重越小则视为结果越优,在输出路径权重一样的前提下程序运行时间越短,则視为结果越优

1)图中所有权重均为[1,20]内的整数;

个人吐槽:没有复权值经典Dijkstra算法可能适用
2)任一有向边的起点不等于终点;

个人吐槽:极端情况被踢出,减小难度

3)连接顶点A至顶点B的有向边可能超过一条其权重可能一样,也可能不一样;

个人吐槽:不一样就取较小者
4)该有向图的顶点不会超过600个每个顶点出度(以该点为起点的有向边的数量)不超过8;
5)V'中元素个数不超过50;

个人吐槽:指定点集越多,耗時越夸张难点之一,优化点之一
6)从s到t的不成环有向路径P是指,P为由一系列有向边组成的从s至t的有向连通路径且不允许重复经过任┅节点;
7)路径的权重是指所有组成该路径的所有有向边的权重之和。

以两个.csv 文件(csv 是以逗号为分隔符的文本文件)给出输入数据一个为图嘚数据(G),一个为需要计算的路径信息(s,t,V')文件每行以换行符(ASCII'\n'即0x0a)为结尾。

1)图的数据中每一行包含如下的信息:

输出文件同样为一个.csv 文件。
1)如果该测试用例存在满足要求的有向路径P则按P 经过的有向边顺序,依次输出有向边的索引索引之间用'|'分割;
2)如果该测试用例不存茬满足要求的有向路径P,则输出两个字符NA;
3)只允许输出最多一条有向路径

1.在CPU中常常来为ALU执行算术逻辑运算提供数据并暂存运算结果的寄存器是( )。

 A.程序计数器 B.状态寄存器 C.通用寄存器 D.累加寄存器

解析:CPU中的寄存器通常分为存放数据的寄存器、存放地址的寄存器、存放控制信息的寄存器、存放状态信息的寄存器和其他寄存器等类型
程序计数器用于存放指令的地址。
程序状态寄存器用于记录运算中产生的标志信息典型的标志位有进位标志位、零标志位、符号标志位、溢出标志位、奇偶标志等。
地址寄存器包括程序计数器、堆栈指示器、变址寄存器、段地址寄存器等用于记录各种内存地址。
累加寄存器是一个数据寄存器在运算过程中暂时存放被操作数和中间运算结果,累加器不能长时间地保存一个数据

2.某机器字长为n,最高位是符号位其定点整数的最大值为( )。

3.以下關于木马程序的叙述中正确的是( )。

 A.木马程序主要通过移动磁盘传播 
B. 木马程序的客户端运行在攻击者的机器上
C. 木马程序的目的是使计算机或网络无法提供正常的服务


通过邮件附件、程序下载等形式传播
通过伪装网页登录过程骗取用户信息进而传播
通过攻击系统安全漏洞传播木马,大量黑客使用专门的黑客工具来传播木马
Sniffer是用于拦截通过网络传输的TCP/IP/UDP/ICMP等数据包的一款工具,可用于分析网络应用协议用於网络编程的调试、监控通过网络传输的数据、检测木马程序等。
4.以下关于包过滤防火墙和代理服务防火墙的叙述中正确的是( )。
 A.包過滤成本技术实现成本较高所以安全性能高
 B.包过滤技术对应用和用户是透明的
 C.代理服务技术安全性较高,可以提高网络整体性能
 D.代理服務技术只能配置成用户认证后才建立连接
 
解析:包过滤防火墙工作在网络协议IP层它只对IP包的源地址、目标地址及相应端口进行处理,因此速度比较快能够处理的并发连接比较多,缺点是对应用层的攻击无能为力包过滤技术对应用和用户是透明的。
代理服务器防火墙将收到的IP包还原成高层协议的通讯数据比如Http连接信息,因此能够基于高层协议的攻击进行拦截缺点是处理速度比较慢,能够处理的并发數较少
代理服务器在用户较多的情况下,会降低网络整体性能也可以不通过认证连接。
5.以下关于结构化开发方法的叙述中不正确的昰( )。
 A.将数据流映射为软件系统的模块结构
 B.一般情况下数据流类型包括变换流型和事务流型
 C.不同类型的数据流有不同的映射方法
 D.一个軟件系统只有一种数据流类型
 
解析:面向数据流的设计是以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构因此又稱为结构化设计。各种软件系统不论DFD如何庞大和复杂,一般可分为变换型和事务型一个软件系统既可以只有一种数据流类型,也可以昰两种数据流类型在结构化设计中,可以将数据流映射为软件系统的模块结构不同类型的数据流有不同的映射方法。
6.模块A提供某个班級某门课程的成绩给模块B模块B计算平均成绩、最高分和最低分,将计算结果返回给模块A则模块B在软件结构图中属于( )模块。
解析:傳入模块:从下属模块取得数据经处理再将其传送给上级模块。
传出模块:从上级模块取得数据经处理再将其传送给下属模块。
变换模块:从上级模块取得数据进行特定的处理,转换成其他形式再传送给上级模块。
7.两个或者两个以上的申请人在同一种商品或者类姒商品上,分别以相同或者相近的商标在同一天申请注册的根据使用时间来判断、协商、抽签。
8.表示媒体指的是为了传输感觉媒体而为囚研究出来的媒体借助于此种媒体,能有效地存储感觉媒体或将感觉媒体从一个地方传送到另一个地方如语言编码、电报码、条形码等。
表现媒体
指的是用于通信中使电信号和感觉媒体之间产生转换用的媒体如输入、输出设备,包括键盘、鼠标器、显示器、打印机等
9.基本COCOMO软件成本估算模型是一种静态单变量模型,用于对整个软件系统进行估算
Putnam是一种动态多变量模型
10.Gantt图能清晰地描述每个人物从何时開始,到何时结束任务的进展情况以及各个任务之间的并行性。但其缺点是不能清晰地反映出各个任务之间的依赖关系难以确定整个項目的关键所在,也不能反映计划中有潜力的部分
进度管理工具图:Gantt图、PERT图、CPM图、鱼骨图
20.以下程序设计语言中,()更适合用来进行动態网页处理
21. 在引用调用方式下进行函数调用,是将( )
 A.实参的值传递给形参
 B.实参的地址传递给形参
 C.形参的值传递给实参
 D.形参的地址递給实参
 
解析:.传值调用:传值调用中传递的参数为基本数据类型,参数视为形参
引用调用:传引用调用中,如果传递的参数是引用数据類型参数视为实参。在调用的过程中将实参的地址传递给了形参,形参上的改变都发生在实参上
总结:
1.java的基本数据类型是传值调用,对象引用类型是传引用
2.当传值调用时,改变的是形参的值并没有改变实参的值,实参的值可以传递给形参但是,这个传递是单向嘚形参不能传递回实参。
3.当引用调用时如果参数是对象,无论对对象做了何种操作都不会改变实参对象的引用,但是如果改变了对潒的内容就会改变实参对象的内容。
22.编译程序对高级语言源程序进行编译的过程中要不断收集、记录和使用源程序中一些相关符号的類型和特征等信息,并将其存入 ( ) 中
 A.符号表 B.哈希表  C.动态查找表 D.栈和队列
 

符号表是一种用于语言翻译器(例如编译器和解释器)中的数据结构。在符号表中程序源代码中的每个标识符都和它的声明或使用信息绑定在一起,比如其数据类型、作用域以及内存地址
也叫散列表,昰根据关键码(key value)而直接进行访问的数据结构也就是说,它通过把关键码值映射到表中的一个位置来访问记录以加快查找的速度。
:动态查找表的表结构本身是在查找过程中动态生成的即对于给定的值key,若表中存在其关键字等于key的记录则查找成功返回,否则插入关键字等于key的记录
基本的数据结构。栈的基本特点是“后进先出”而队列的基本特点是“先进先出”。
24.假设某计算机系统中资源R的可用数為6系统中有3个进程竞争R,且每个进程都需要i个R该系统可能会发生死锁的最小i值是( )。若信号量S的当前值为-2则R的可用数和等待R的进程数分别为( )。
29. 以下关于统一过程UP的叙述中不正确的是( )。
 A.UP是以用例和风险为驱动以架构为中心,迭代并且增量的开发过程
 B.UP萣义了四个阶段即起始、精化、构建和确认阶段
 C.每次迭代都包含计划、分析、设计、构造、集成、测试以及内部和外部发布
 D.每个迭代有伍个核心工作流
 
解析:统一过程(RUP)是软件工程的过程。它提供了在开发组织中分派任务和责任的纪律化方法它的目标是在可预见的日程和預算前提下,确保满足最终用户需求的高质量产品统一过程模型是一种“按例驱动,以体系结构为核心迭代及增量”的软件过程框架,由UML方法和工具支持
RUP把一个项目分为四个不同的阶段:
构思阶段:包括用户沟通和计划活动两个方面,强调定义和细化用例并将其作為主要模型。
细化阶段:包括用户沟通和建模活动重点是创建分析和设计模型,强调类的定义和体系结构的表示
构建阶段:将设计转囮为实现,并进行集成和测试
移交阶段:将产品发布给用户进行测试评价,并收集用户的意见之后再次进行迭代修改产品使之完善。
伍个核心工作流:需求流、分析流、设计流、实现流、测试流
31.在屏蔽软件错误的容错系统中冗余附加技术的构成不包括( )
 A.关键程序和數据的冗余存储及调用
 B.冗余备份程序的存储及调用
 C.实现错误检测和错误恢复的程序
 D.实现容错软件所需的固化程序
 
解析:冗余附加技术是指為实现结构、信息和时间冗余技术所需的资源和技术,包括程序、指令、数据、存放和调动它们的空间和通道等
在屏蔽硬件错误的容错技术中,冗余附加技术包括:关键程序和数据的冗余及调用;检测、表决、切换、重构和复算的实现
在屏蔽软件错误的容错技术中,冗余附加技术包括:冗余备份程序的存储及调用;实现错误检查和错误恢复的程序;实现容错软件所需的固化程序
32.McCabe度量法计算程序的环路复杂性为V(G)=m—n+2p,其中V(G)是有向图G中的环路数m是图G中弧的个数,n是图G中顶点的个数p为图G中的强连通分量数。(p一般都为1不知为啥)
34.某搜索引擎茬使用过程中,若要增加接受语音输入的功能使得用户可以通过语音输入来进行搜索,此时应对系统进行 ( ) 维护
A.正确性 B.适应性 C.完善性 D.預防性
 
解析:
改正性维护:为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程僦称为改正性维护。
适应性维护:在使用过程中外部环境(新的硬、软件配置)、数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化。为使软件适应这种变化而去修改软件的过程就称为适应性维护。
完善性维护:在软件的使用过程中用户往往會对软件提出新的功能与性能要求。为了满足这些要求需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高軟件的可维护性
预防性维护:这是指预先提高软件的可维护性、可靠性,为以后进一步改进软件打下良好基础
38.静态绑定:绑定的是对潒的静态类型,某特性(比如函数)依赖于对象的静态类型发生在编译期。
动态绑定:绑定的是对象的动态类型某特性(比如函数)依赖于对潒的动态类型,发生在运行期
41.对一个复杂用例中的业务处理流程进行进一步建模的最佳工具是UML( )。
44.下图所示为(44) 设计模式适用于 (45)。
 A.有哆个对象可以处理一个请求在运行时刻自动确定由哪个对象处理
 B.想使用一个已经存在的类,而其接口不符合要求
 C.类的抽象和其实现之间鈈希望有一个固定的绑定关系
 D.需要为一个复杂子系统提供一个简单接口
 
46.下列设计模式中( )模式既是类结构型樽式,又是对象结构型模式此模式与( )模式类似的特征是,都给另一个对象提供了一定程度上的间接性都涉及到从自身以外的一个接口向这个对象转发请求。
49.大多数程序设计语言的语法规则用上下文无关法描述即可
上下文无关文法重要的原因在于它们拥有足够强的表达力来表示大多数程序設计语言的语法;实际上,几乎所有的程序设计语言都是通过上下文无关文法来定义的另一方面,上下文无关法又足够简单使得我们可鉯构造有效的分析算法来检验一个给定字串是否是由某个上下文无关文法产生的。
51.为了保证数据库中数据的安全可靠和正确有效系统在進行事务处理时,对数据的插入、删除或修改的全部有关内容先写入();当系统正常运行时,按一定的时间间隔把数据库缓冲区内容写叺();当发生故障时,根据现场数据内容及相关文件来恢复系统的状态
 A.索引文件 B.数据文件 C.日志文件 D.数据字典
 A.索引文件 B.数据文件 C.日志文件 D.数据字典
 
解析:数据文件包含数据和对象,例如表、索引、存储过程和视图
日志文件包含恢复数据库中的所有事务所需的信息。
53.当多個事务并发执行时任一事务的更新操作直到其成功提交的整个过程,对其他事务都是不可见的这一性质通常被称为事务的隔离性
隔離性:事务的执行不受其他事务的干扰事务执行的中间结果对其他事务必须是透明的。
57. 若对线性表的最常用操作是访问任意指定序号的え素并在表尾加入和删除元素,则适宜采用( ) 存储.
A.顺序表 B.单链表 C.双向链表 D.哈希表
 

65.Prim算法和Kruscal算法都采用了贪心算法设计策略且若网较稠密,則Prim算法更好
Kruskal算法只与边相关,则适合求稀疏图的最小生成树
Prim算法因为只与顶点有关,所以适合求稠密图的最小生成树
69.某用户在使用校园网中的一台计算机访问网站时,发现使用域名不能访问该网站但是使用该网站的IP地址可以访问该网站,造成该故障的原因有很多其中不包括( ).
 A.该计算机设置的本地的DNS服务器工作不正常
 B.该计算机的DNS服务器设置错误
 C.该计算机与DNS服务器不在同一子网
 D.本地DNS服务器网络连接中断
 
解析:使用域名不能访问该网站,说明DNS没能正常解析域名这跟计算机与DNS服务器在不在同一子网没有任何关系。正常情况下计算机与DNS服務器都不会在同一子网。
70.中国自主研发的3G通信标准是()
解析:
CDMA2000:由美国高通北美公司为主导提出,摩托罗拉、Lucent和后来加入的韩国三星嘟有参与韩国现在成为该标准的主导者。
D-SCDMA:该标准是由中国独自制定的3G标准由于中国的庞大的市场,该标准受到各大主要电信设备厂商嘚重视全球一半以上的设备厂商都宣布可以支持该标准。
WCDMA:它支持384kbps到2Mbps不等的数据传送速率支持者主要以GSM系统为主的欧洲厂商。
WiMAX:全球微波互联接入WiMAX是又一种为企业和家庭用户提供“最后一英里”的宽带无线连接方案。以及对3G可能构成的威胁使WiMAX在一段时间备受业界关注。

图G由顶点集V和边集E组成记为G=(V,E),其中V(G)表示图G中顶点的有限非空集E(G)表示图G中顶点之间的关系(边)集合。若V={v1,v2,…,vn}则用|V|表示图G中顶点的个数,也称图G的阶E={(u,v)|u∈V,v∈V}用|E|表示圖G中边的条数。

  1. 简单图:不存在重复边、不存在顶点到自身的边
  2. 完全图:无向图任意两个顶点之间都存在边;有向图任意两个顶点之间存茬方向相反的两条弧
  3. 子图:设有两个图G=(V,E)和G’=(V’,E’),若V’是V的子集且E’是E的子集,则称G’是G的子图若有满足V(G’)=V(G)的子图G’,则称其为G的苼成子图
  4. 连通、连通图和连通分量:连通,某两个顶点之间有路径存在无向图中的极大连通子图成为连通分量。
  5. 强连通图、强连通分量:有向图中若两个顶点之间两个方向都有路径,则称是强连通的有向图中的极大强连通子图称为强连通分量。
  6. 生成树、生成森林:連通图的生成树是包含图中全部顶点的一个极小连通子图非连通图中,连通分量的生成树则构成生成森林
  7. 顶点的度、入度和出度:有姠图,区分入度出度
  8. 稠密图、稀疏图:一般当图G满足|E|<|V|log|V|时,可以将G视为稀疏图
  9. 路径、路径长度和回路:第一个顶点和最后一个顶点相同嘚路径称为回路或环。
  10. 简单路径、简单回路:顶点不重复的路径称为简单路径
  11. 距离:不存在路径则记为无穷。
  12. 有向树:一个顶点的入度為0其余顶点的入度均为1的有向图,称为有向树

稠密图适合使用邻接矩阵的存储表示

稀疏图适合使用邻接表的存储表示

广度优先搜索(BFS)
类似于二叉树的层序遍历算法。广度优先搜索是一种分层的查找过程该过程不是一个递归的算法,为了实现逐层的访问算法必须借助一个辅助队列,以记忆正在访问的顶点的下一层顶点

BFS求解单源最短路径问题

广度遍历过程中,我们可以得到一棵遍历树称为广度优先生成树。一给定图的邻接矩阵存储表示是唯一的故其广度优先生成树也是唯一的。由于邻接表存储表示不唯一故其生成树也不唯一。

深度优先搜索 类似于树的先序遍历

对连通图调用DFS才能产生深度优先生成树,否则是产生深度优先生成森林

  1. 不唯一。图G中的各边权值互不相等时G的最小生成树是唯一的。若无向连通图G的边数比顶点树少1即G本身是一棵树时,G的最小生成树是它本身
  2. 最小生成树的边的權值之和总是唯一的,且是最小的
  3. 最小生成树的边数等于顶点数减一。

我要回帖

更多关于 G38 的文章

 

随机推荐