zoukankan      html  css  js  c++  java
  • 软件设计师1990年下午试题2(流程图解析)

    [问题] 

    将一个 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)

  • 相关阅读:
    C# 视频监控系列(11):H264播放器——封装API[HikPlayM4.dll]
    php框架
    ExtJS带验证码登录框[新增回车提交]
    ant 读取环境变量的值
    Apache Velocity实现模板化
    23种设计模式概述
    android资源下载
    无序hashset与hashmap让其有序
    PermGen space错误解决方法
    设计模式之代理模式(Proxy)
  • 原文地址:https://www.cnblogs.com/djcsch2001/p/2096664.html
Copyright © 2011-2022 走看看