软件设计师1990年下午试题2(流程图解析)

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: [问题]  将一个 m×n 的矩阵 X 转置后存放到矩阵 Y 中,其计算复杂度为 O(m*n)。对稀疏矩阵来说,可以用紧凑的存贮方式来减少所需的存贮量,并降低计算复杂度。 已知有 t(t>0) 个非零元素的 m×n 稀疏矩阵 W(每行每列至少有一个非零元素)以紧凑方式存放在数组 X[l:t,1:3]中。

[问题] 

将一个 m×n 的矩阵 X 转置后存放到矩阵 Y 中,其计算复杂度为 O(m*n)。对稀疏矩阵来说,可以用紧凑的存贮方式来减少所需的存贮量,并降低计算复杂度。

已知有 t(t>0) 个非零元素的 m×n 稀疏矩阵 W(每行每列至少有一个非零元素)以紧凑方式存放在数组 X[l:t,1:3]中。X 中某行的三个值为(i,j,v)时表示在 W 的第 i 行第 j 列有一个非零元素 v。假定 X 中的元素已按行号列号递增排序。现要求将 X 转置后以紧凑表示形式存放在数组 Y[l:t,1:3] 中,并且 Y 也按行号列号递增排序。

下面描述了两种紧凑的稀疏矩阵的转置算法: 

算法一见流程图a

算法二见流程图b。争扣外图中:数组元素 S[i] 用来存放X中列号为 i 的元素个数,数组元素 U[j] 用来计算X中第 j 列元素在Y中的行号。 

 

[问题1] 

填充流程图 a 和流程图 b 中的 ①~⑤,使之实现相应的算法。
[问题2] 

分别写出算法一和算法二的计算复杂度。

 

答案:

[问题1]

① k+1→k ② X[j,2] ③ U[X[i,2]] ④ U[X[i,2]] ⑤ i>t
[问题2] 算法1的复杂度为 O(n*t);算法2的复杂度为 O(n+t)

相关文章
|
2月前
|
算法 测试技术
软件设计师软考题目解析24 --每日五题
这篇文章提供了软件设计师软考的每日五题解析,包括测试用例设计、软件维护类型、路径覆盖测试、软件维护工具和系统改进等知识点。
33 0
软件设计师软考题目解析24 --每日五题
|
2月前
|
项目管理
软件设计师软考题目解析20之英语题
软件设计师软考中英语题目的解析和答题技巧,帮助考生攻克英语部分的题目。
24 0
软件设计师软考题目解析20之英语题
|
2月前
|
前端开发 数据处理
软件设计师软考题目解析23 --每日五题
每日五题解析,涉及结构化开发方法的特点、数据流图的基本加工、MVC体系结构的优点以及模块间耦合类型的判断等知识点。
17 0
|
2月前
|
算法 数据建模 数据库
软件设计师软考题目解析22 --每日五题
每日五题解析,涉及结构化开发方法中的接口设计依据、数据结构和算法设计、数据流图的使用场景、外部实体的识别以及决策树在数据流图中表示复杂条件逻辑的应用。
21 0
|
2月前
|
网络协议 PHP
软件设计师软考题目解析21 --每日五题
每日五题解析,包括海明码纠错、POP3协议通信模式、中断处理、HTML邮件链接创建和结构化开发方法中的接口设计等知识点。
16 0
|
2月前
|
测试技术
软件设计师软考题目解析19 --每日五题
这篇文章提供了软件设计师软考的每日五题解析,包括白盒测试方法、回归测试、面向对象开发方法、总线复用方式和海明码纠错等知识点。
16 0
|
2月前
|
算法 Ruby
软件设计师软考题目解析18 --每日五题
这篇文章提供了软件设计师软考的每日五题解析,包括计算机指令周期、软件设计阶段、模块化原则、程序控制结构和软件项目规模确定等知识点。
33 0
|
1月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
71 2
|
2月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
76 0
|
2月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
62 0

推荐镜像

更多
下一篇
DataWorks